我在 CSDN 学院发布的 SQL 入门视频教程。
CHECK约束允许对插入的记录值进行条件检查。如果验证结果为假,将会违反约束,记录无法插入到表中。
示例
例如,以下SQL创建一个名为CUSTOMERS的表,包含5列。其中,AGE列上添加了一个CHECK,所有不会存在小于18岁的顾客:
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL CHECK (AGE >= 18),
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL CHECK (AGE >= 18),
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
如果该表已经存在,可以使用类似以下的语句添加一个CHECK约束:
ALTER TABLE CUSTOMERS
MODIFY AGE INT NOT NULL CHECK (AGE >= 18 );
(AGE >= 18 );
还可以使用以下语法,它支持多个列上的命名约束:
ALTER TABLE CUSTOMERS
ADD CONSTRAINT myCheckConstraint CHECK(AGE >= 18);
(AGE >= 18);
删除CHECK约束
使用以下SQL删除CHECK约束。但是MySQL不支持该语法:
ALTER TABLE CUSTOMERS
DROP CONSTRAINT myCheckConstraint;
;
原文地址:http://www.tutorialspoint.com/sql/index.htm