T-SQL语句添加约束
语法:ALTER TABLE 表名 ADD CONSTRAINT约束名约束类型 具体的约束声明
约束名的取名规则推荐采⽤:约束类型_约束列,当然你也可以不这么命名,这样单纯是⽐较⽅便
如:主键(Primary Key)约束:PK_UserId
唯⼀(Unique key)约束: UQ_UserCardId
默认(Default Key)约束 DF_UserPasswd
检查(Check Key)约束 CK_Gender
外键(Foreign Key)约束: FK_SortId
--以上加棕⾊段是我定义表中的列名称
打个⽐⽅:add constraint PK_UserId PRIMARY KEY (UserId)
--PK_UserId 是⾃定义约束名 , PRIMARY KEY 是约束类型, (UserId)是具体的约束声明
举例,代码如下:
USE Demo --操作的数据库名
GO
ALTER TABLE Test_Table1--要进⾏限制约束的表
add constraint PK_UserId PRIMARY KEY (UserId), --主键约束
constraint CK_UserPwd CHECK(LEN(UserPwd)>=6), --查询约束,长度限制
constraint CK_Gender CHECK(Gender=0 OR Gender =1),--查询约束,范围限制
constraint DF_Gender DEFAULT(0) for Gender,--默认约束,设置默认值
constraint CK_E_mail CHECK(E_mail LIKE '%@%')  --检查约束,格式检查
GO
-------------------------------------------------------------------------------------
USE E_Market --操作的数据库名
GO
ALTER TABLE OrderInfo --要进⾏限制约束的表
创建唯一约束sql语句ADD CONSTRAINT PK_OrderId PRIMARY KEY(OrderId),
CONSTRAINT FK_UserId Foreign KEY(UserId) References UserInfo(UserId), --外键约束
CONSTRAINT FK_ConmodityId Foreign KEY(CommodityId) References CommodityInfo(CommidityId),
CONSTRAINT DF_PayWay Default('⽹上银⾏') FOR PAYWAY,
CONSTRAINT CK_Confirm Check(Confirm=0 OR Confirm =1),
CONSTRAINT DF_Confirm Default(0)FOR Confirm ,
CONSTRAINT CK_SendGoods Check(SendGoods=0 OR SendGoods =1),
CONSTRAINT DF_SendGoods Default(0)For SendGoods
GO
贴⼠: 主外键约束时,PRIMARY KEY ,FOREIGN KEY,其余约束不⽤加KEY
注意:1.外键约束时要注意外键FK_xx 必须与引⽤的主键列的类型 长度 完全⼀致
2.外键约束引⽤的表中必须有主键列
3.当添加约束的表中已存在数据,但⼜要对其添加约束,只需要修改第⼀⾏ ALTER TABLE 表名  WITH NOCHECK (但是对与之前的数据,将不做任何检查)
设置外键FK时,外键通过将列连接到另⼀个表中的唯⼀键⽽⼯作,并且该唯⼀键必须定义为某种唯⼀索引形式,即主键或其他唯⼀索引。(2017-3-12添加)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。