龙空技术网

数据库 SQL 约束之 CHECK

程序媛淼淼 220

前言:

今天姐妹们对“mysql的check约束”大体比较注意,同学们都需要知道一些“mysql的check约束”的相关资讯。那么小编同时在网摘上收集了一些关于“mysql的check约束””的相关文章,希望你们能喜欢,看官们一起来学习一下吧!

今天是日更的 54/365 天

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

SQL 约束的定义

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

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

SQL CHECK 约束

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

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

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

一)CREATE TABLE 时的 SQL CHECK 约束1、定义单个列的 CHECK 约束

实例

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 约束

实例

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 约束

实例

ALTER TABLE student

ADD CHECK(ID);

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

实例

ALTER TABLE student

ADD CONSTRAINT chk_Person

CHECK(ID>0 AND country='CN');

三)撤销 CHECK 约束

实例

ALTER TABLE student

DROP CHECK chk_Person;

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

标签: #mysql的check约束