天天看点

约束4(constraints)

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