SQL CHECK:检查性约束
您可以为一个字段或者多个字段定义 CHECK 约束。
示例
创建一个名为 website 的新表,该表包含七个字段,我们为 age 字段添加 CHECK 约束,要求网站年龄不大于 25 岁。代码如下:
CREATE TABLE website (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
url VARCHAR(30),
age TINYINT UNSIGNED NOT NULL CHECK(age<=25),
alexa INT UNSIGNED NOT NULL,
uv FLOAT DEFAULT '0',
country CHAR(3) NOT NULL ,
PRIMARY KEY (id)
);
其它一些常见用法:
规定体重必须大于 0 并且小于 100 公斤:
weight NUMERIC(9, 2) CHECK( weight>0 AND weight<=100 )
规定性别只能是男(male)和女(female):
sex CHAR(6) CHECK( sex='male' OR sex='female' )
当然,您也可以为多个字段添加 CHECK 约束。例如,在创建 website 表时,规定网站年龄不大于 25 岁,并且 Alexa 排名不能高于 10000,如下所示:
CREATE TABLE website (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
url VARCHAR(30),
age TINYINT UNSIGNED NOT NULL CHECK(age<=25),
alexa INT UNSIGNED NOT NULL CHECK(alexa<=10000),
uv FLOAT DEFAULT '0',
country CHAR(3) NOT NULL ,
PRIMARY KEY (id)
);
或者写作:
myCheck 为自定义的约束名字。CREATE TABLE website (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
url VARCHAR(30),
age TINYINT UNSIGNED NOT NULL,
alexa INT UNSIGNED NOT NULL,
uv FLOAT DEFAULT '0',
country CHAR(3) NOT NULL ,
PRIMARY KEY (id),
CONSTRAINT myCheck CHECK(age<=25 AND alexa<=10000)
);
如果您已经创建了 website 表,并且希望向 age 字段添加约束,则可以使用下面的语句:
ALTER TABLE website
MODIFY age TINYINT UNSIGNED NOT NULL CHECK(age<=25);
如果您希望给多个字段添加约束,可以使用下面的语法:
ALTER TABLE website
ADD CONSTRAINT myCheck CHECK(age<=25 AND alexa<=10000);
删除约束
要想删除 CHECK 约束,请使用下面的语法:
myCheck 是自定义的约束名字。注意,该语法不适用于 MySQL。ALTER TABLE website
DROP CONSTRAINT myCheck;
- 随机文章
- 核心危机(核心危机魔石合成攻略)
- 风儿(风儿轻轻的吹)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 儿童教育文章(儿童教育)
- 抖音卡(抖音卡顿怎么解决)
- xboxones(xboxone手柄怎么配对主机)
- 兵马俑(兵马俑介绍和历史背景)
- 陈武简历
- 帆船比赛(帆船比赛视频)
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 地球日主题(2020年世界地球日主题)
- 和柳亚子(和柳亚子先生于田)
- 冰客(冰客果汁)
- yy魔兽(yy魔兽世界)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 拆奶罩
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 大松电饭煲(美的大松电饭煲)
- 服饰加盟(服饰加盟店招商)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 观音普门品(观音普门品念诵全文)
- 哈利波特官网(哈利波特官网在哪里)
- 杜星霖(杜星霖图片)
- 查传倜(查传倜个人生活)
- 广州晓港公园(广州晓港公园正门图片)
