4.4.3 CHECK约束
CHECK约束是检查约束,能够规定每一个列能够输入的值,以保证数据的正确性。下面就详细讲解CHECK约束的使用。
(1)创建表时添加CHECK约束
创建CHECK约束可以设置在“性别”列中只能输入男或者女,在“年龄”列中只能输入18~30岁的年龄。创建CHECK约束的语句是在创建表的语句后面加上如下语句完成的:
CONSTRAINT constraint_name CHECK(condition);
其中,condition是检查约束的条件,检查约束的条件要建立在具体的字段中。例如,给字段Age设置为18~30岁,就可以写成age>=18 and age<=30。
下面创建一个顾客信息表,顾客信息表主要包括顾客编号、顾客姓名、顾客年龄、顾客性别、顾客电话、顾客住址6个字段信息。顾客信息表的详细信息如表4.7所示。
根据表4.7所示的顾客信息表的信息,创建顾客信息表,并设置Age列的取值范围是18~50岁。具体操作如图4.17所示。
图 4.17 创建Age列的检查约束
这样就完成了年龄字段中检查约束的创建,在年龄的字段中只能输入18~50的数字,输入其他的数字就会出现错误。
(2)在修改数据表时添加CHECK约束
在修改数据表时添加检查约束的方法也比较简单,在ALTER TABLE语句的后面添加如下语句即可:
ADD CONSTRAINT constraint_name CHECK(condition);
下面利用上面语句为顾客信息表添加性别列的检查约束,要求性别列只能输入“男”或者“女”。具体操作如图4.18所示。
图 4.18 添加Gender列的检查约束
这样就完成了Gender性别列检查约束的添加,也可以同时添加多个检查约束。
(3)移除CHECK约束
移除CHECK约束也与移除其他约束一样,只要知道CHECK约束的名字,就可以移除CHECK约束,下面就移除在顾客信息表中Gender列的检查约束chk_gender。具体语句如下:
ALTER TABLE custominfo
DROP CONSTRAINT chk_gender;
这样,就可以移除CHECK约束chk_gender。