CHECk约束是检查约束,能够规定每一个列能够输入的值,以保证数据的正确性
比如通过限制数据类型,检查约束,输入格式,默认值,非空约束等
例如:学生姓名大于0,学生编号不能为空,如果不满足要求,则判断输入无效
(1)添加约束:
【1】创建表时添加CHECK约束,在创建表的后面
语法:
CONSTRAINT 约束名称 CHECK(条件)
示例:
-创建顾客信息表的同时为表添加检查约束
CREATE TABLE CUSTOMINFO(
CUSTOMID VARCHAR2(10),
NAME VARCHAR2(10),
AGE NUMBER(2),
GENDER VARCHAR(2),
TEL VARCHAR(11),
ADDRESS VARCHAR2(100), [CONSTRAINT CHK_AGE] CHECK(AGE>=18 AND AGE<=50)
);
【2】使用ALTER添加约束
语法:
ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK (条件)
示例:
为顾客信息表添加检查约束
ALTER TABLE CUSTOMINFO ADD CONSTRAINT CHK_GENDER CHECK(GENDER=‘男‘ or GENDER=‘女‘);
【3】查询检查约束
语法:
select cu.* from user_cons_columns cu, user_constraints au
where cu.constraint_name = au.constraint_name
and au.constraint_type = ‘C‘ and au.table_name = ‘表名‘;
示例:
select cu.* from user_cons_columns cu, user_constraints au
where cu.constraint_name = au.constraint_name
and au.constraint_type = ‘C‘ and au.table_name = ‘CUSTOMINFO ‘;
【4】删除约束
语法:
ALTER TABLE TABLE_NAME DROP CONSTRAINT CONSTRAINT_NAME;
示例:
-为顾客信息表删除性别约束
ALTER TABLE CATEGORYINFO DROP CONSTRAINT CHK_GENDER;