约束(constrain)

sql 约束

约束用于限制加入表的数据的类型。

可以在创建表时规定约束(通过 create table 语句),或者在表创建之后也可以(通过 alter table语句)。

我们将主要探讨以下几种约束:

1.not null ---------------不为null

2.unique ---------------唯一约束

3.primary key --------------主键约束

4.foreign key -----------外键约束

5.check -------------条件约束

6.default -------默认约束

下面将详细描述每一种约束(为了不使一篇博客太长部分约束写在下面的地址待完善):

3.primary key --------------主键约束:http://blog.csdn.net/hudegang_35/article/details/50156637

4.foreign key -----------外键约束:http://blog.csdn.net/hudegang_35/article/details/50157215

5.check -------------条件约束:http://blog.csdn.net/hudegang_35/article/details/50162267

6.default -------默认约束:http://blog.csdn.net/hudegang_35/article/details/50163733

1.not null约束

描述:not null约束强制列不接受null值 。

not null约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

案例:

create table persons

(

id int not null,

name varchar(20) not null

)

2.unique约束

描述:unique约束唯一标识数据库表中的每一条记录。

unique和primary key约束均为列或列集合提供了唯一性的保证。

primary key拥有自动定义的unique约束。

注意:每个表可以有多个unique约束,但是每个表只能有一个primary key约束。

案例:

MySql:

create table persons

(

id int not null,

name varchar(20) not null,

unique(id)

)

SQL Server/Oracle/MS Access:

create table persons

(

id int not null unique,

name varchar(20) not null

)

如果需要命名unique约束,以及为多个列定义unique约束,请使用下面sql语法:

Mysql/sql server/oracle/ms access:

create table persons

(

id int not null,

name varchar(255) not null,

address varchar(255),

constraint uc_PersonID unique (id,name)

)

------uc_PersonID为约束名。

当表已经创建时,如需在id列创建unique约束,请使用下面sql:

mySql/sql server/oracle/ms access:

alter table persons add unique (id)

如需要命名unique约束,并定义多个列的unique约束,请使用下面的sql语句:

mySql/sql server/oracle/ms access:

alter table persons

add constraint uc_personID unique (id,name)

--uc_personID是unique约束的名称

撤销unique约束

如需撤销unique约束,请使用下面的sql:

MySQL:

alter table persons

drop index uc_personID

--uc_personID是unique的约束名称

sql Servers/Oracle/Ms access:

alter table persons

drop constraint uc_personID

--uc_personID是unique的约束名称

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值