SQL CHECK 约束

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

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

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

 

CREATE TABLE 时的SQL CHECK 约束

   在"Persons"表创建时"P_Id"列上创建CHECK约束。CHECK约束规定"P_Id"列必须只包含大于0的整数。

MySQL:

 

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (P_Id>0)
)

SQL Server /Oracle /MS Access

 

 

CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

   如需命名CHECK约束,并定义多个列的CHECK约束,请使用下面的SQL语法:

 

MySQL /SQL Server /Oracle /MS Access:

 

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)

 


ALTER TABLE 时的 SQL CHECK约束
    当表已被创建时,如需在"P_Id"列创建CHECK约束,请使用下面的SQL:

 

 

MySQL /SQL Server /Oracle /MS Access:

 

ALTER TABLE Persons ADD CHECK (P_Id>0)

   如需命名CHECK约束,并定义多个列的CHECK约束,请使用下面的SQL语法:

 

MySQL /SQL Server /Oracle /MS Access:

 

ALTER TABLE Persons ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')

 

参考:

https://www.yuque.com/docs/share/03d288fa-8dcd-4607-8a2c-8f7eed3835e6

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值