本文主要讲一下SQL的CHECK约束有关的内容。
SQL 数据库
用于限制列中的值的范围。如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
(1)在添加表时添加CHECK约束:
语法:
CREATE TABLE Persons
(列名 数据类型及长度 约束,
列名 数据类型及长度 约束,
CONSTRAINT 自定义的约束名称 CHECK 约束条件
)
例子:
CREATE TABLE Persons
(
Id int NOT NULL,
Name varchar(255) NOT NULL,
Address varchar(255) NOT NULL,
Age int NOT NULL,
CONSTRAINT CHECKAge CHECK (Age >0)
)
该约束添加后,在Persons表中Age列添加数据时,会强制要求填入大于0的数据
如果要设置范围的话可以这样写:
CREATE TABLE Persons
(
Id int NOT NULL,
Name varchar(255) NOT NULL,
Address varchar(255) NOT NULL,
Age int NOT NULL,
CONSTRAINT CHECKAge CHECK (Age >0 and Age<100)
)
这样在向Persons表中Age列添加数据时会强制要求填入大于0并且小于100的数据
(2)当表已经被创建后,向表中的列添加CHECK约束
语法:
ALTER TABLE 表名 ADD CONSTRAINT 自定义约束名称 CHECK 约束内容
例子:
ALTER TABLE Persons ADD CONSTRAINT CHECKId CHECK (Id>0)
语法:
ALTER TABLE 表名 DROP CONSTRAINT 自定义的该表的的约束名称
例子:
ALTER TABLE Persons DROP CONSTRAINT CHECKAge