数据库 SQL 约束之 CHECK

2022-09-01 10:35:37 浏览数 (1)

今天是日更的 54/365 天

大家好,我是阿常,上一篇阿常讲了《数据库 SQL 约束之 FOREIGN KEY》,今天阿常和大家分享《数据库 SQL 约束之 CHECK》。

SQL 约束的定义

SQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止。

约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

SQL CHECK 约束

CHECK 约束用于限制列中的值的范围。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。

一)CREATE TABLE 时的 SQL CHECK 约束

1、定义单个列的 CHECK 约束

实例

代码语言:javascript复制
CREATE TABLE student
(
IID int NOT NULL,
name varchar(255) NOT NULL,
sex varchar(255),
age varchar(255),
country varchar(255),
CHECK(ID>0)
)
2、定义多个列的 CHECK 约束

实例

代码语言:javascript复制
CREATE TABLE student
(
ID int NOT NULL,
name varchar(255) NOT NULL,
sex varchar(255),
age varchar(255),
country varchar(255),
CONSTRAINT chk_Person CHECK(ID>0 AND country='CN')
)

二)ALTER TABLE 时的 SQL CHECK 约束

1、当表已被创建,定义单个列的 CHECK 约束

实例

代码语言:javascript复制
ALTER TABLE student
ADD CHECK(ID);
2、当表已被创建,定义多个列的 CHECK 约束

实例

代码语言:javascript复制
ALTER TABLE student
ADD CONSTRAINT chk_Person
CHECK(ID>0 AND country='CN');

三)撤销 CHECK 约束

实例

代码语言:javascript复制
ALTER TABLE student
DROP CHECK chk_Person;

至此,数据库 SQL CHECK(检查) 约束就讲完啦,下一篇讲《数据库 SQL DEFAULT(默认) 约束》。

0 人点赞