sql for sql server_约束详解

定义:用于限制加入表的数据的类型:

  • NOT NULL 约束: 确保列不能有NULL值。

  • DEFAULT约束: 提供未指定数据时列的默认值。

  • UNIQUE约束: 确保了在一列中的所有的值是不同(唯一)的,允许为空,但只能出现一个空值

  • PRIMARY Key(主键) : 唯一标识数据库表中的每一行/记录。

  • FOREIGN Key(外键): 唯一标识任何其他数据库表中的行/记录。

  • CHECK约束: CHECK约束可以确保列中的所有值满足一定的条件。

  •  

  • 当一个表是用CREATE TABLE语句创建,也可以使用ALTER TABLE语句修改表,即使创建约束后,约束也可以再次指定。

  • 您所定义的任何约束可以使用带有DROP CONSTRAINT选项的ALTER TABLE命令删除。

    ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK;

    

(1)not null 

 094950_OuL5_3253486.png

(2)unique(唯一约束):要求该列唯一,每个表可以有多个unique约束

095408_H4AC_3253486.png

095815_vKVs_3253486.png

修改某个表时,添加某个约束:

100807_idTX_3253486.png

  101059_i6CP_3253486.png

  101230_h3Xr_3253486.png

删除约束:

101444_tc9x_3253486.png

(3)primary key(主键约束):主键必须包含唯一的值,不能包含null值。每个表都应该有一个主键,并且每个表只能有一个主键

110251_1D44_3253486.png

primary key修改表-添加/删除约束时与unique相同

(4)foreign key(外键约束):用于预防破坏表之间连接的动作;也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一

110946_1VC5_3253486.png

111138_Oeie_3253486.png

修改表:

111543_w9Fd_3253486.png

(5)check约束用于限制列中值的范围:如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

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

112013_wlwB_3253486.png

112113_fIIJ_3253486.png

(6)default约束用于向列中插入默认值,如果没有规定其他的值,那么会将默认值添加到所有的新记录。

112645_U48m_3253486.png

142333_TJnZ_3253486.png

注意:varchar类型和int类型在default中的写法,分别用‘ ’和()把value值包起来

         默认值约束不能直接修改,必须在drop之后在add,drop的时候必须知道当前默认值约束的名称

 

 

 

转载于:https://my.oschina.net/u/3253486/blog/841615

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值