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 --要进行限制约束的表

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添加)


  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值