5.check约束(条件约束)
描述:check约束用于限制列中的值的范围。
如果对单个列定义check约束,那么该列只允许特定的值。
如果对一个表定义check约束,那么此约束会在特定的列中对值进行限制。
数据库:My SQL
语法:
create table persons
(
id int not null,
name varchar(255) not null,
check(id>0)
)
---id这个列的值不可以小于0,条件约束
数据库:SQL Servers/Oracle/MS Access:
语法:
create table persons
(
id int not null check(id>0),
name varchar(255)
)
---id这个列的值不可以小于0,条件约束
如果需要命名check约束,以及为多个定义check约束,请使用下面的sql语法:
数据库:MySQL/SQL Server/Oracle/MS Access:
create table persons
(
id int not null,
address varchar(255),
constraint chk_person check (id>0 and address="chengdu")
)
---id这个列的值不可以小于0,address必须为“chengdu”,条件约束
如果在表存在的情况下为“id”列创建checke约束,请使用下面的sql:
数据库:MySQL/SQL Server/Oracle/MSAccess:
alter table persons add check(id>0)
---id这个列的值不可以小于0,条件约束
如果需要命名check约束,以及为多个列定义check约束,请使用下面的sql语句:
数据库:MySQL/SQL Server/Oracle /MS Access:
alter table persons add constraint chk_person check (id>0 and address="chengdu")
---id这个列的值不可以小于0,address必须为“chengdu”,条件约束
撤销check约束:
数据库:SQL Server/Oracle/MS Access
语法:
alter table persons drop constraint chk_person
数据库:MySQL
alter table persons drop check chk_person