温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQL server中有哪些约束

发布时间:2021-01-22 11:41:14 来源:亿速云 阅读:135 作者:小新 栏目:MySQL数据库

这篇文章将为大家详细讲解有关SQL server中有哪些约束,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

约束的概念:确保在列中输入有效的值并维护表之间的关系。

SQL server中有哪些约束


Primary key约束

功能:primary key(主键约束),一个表中只能有一个,不能有空值,不能有重复值.

创建表时定义约束:字段名 数据类型[长度] primary key

Unique约束
功能:unique(唯一约束), 指定在同一列中的两行不能有相同的值,只能有一行为空值。

创建表时定义约束:字段名 数据类型 unique

Default约束

功能:执行insert语句时将默认值自动插入约束所在的列

创建表时定义约束:字段名 数据类型 default 默认值
Default 约束注意事项
1、每列只能定义一个default约束。
2、不能用于有identity属性的列
3、如果定义的默认值长于其对应字段的允许长度,那么输入到表中的默认值将被截断。
4、有default约束的字段,可插入其他的值,若不插入,   则以默认值为纪录值,且后面创建的默认约束对已
经存在的数据没有影响.

Check约束
功能:check(检查约束),每次执行Insert/update语句时,该约束要校验数据的合法性。

创建表时定义约束:字段名 数据类型 check(条件)

Check约束注意事项
1、一个表中可以定义多个检查约束,但每个字段只    能定义一个检查约束。
2、当执行insert语句或者update语句时,检查约束  将验证数据。
3 、如果对已经有数据的表添加约束,可以用with nocheck避免对以前的数据做检查.

Foreign key 约束

功能:确保主关键字(主表中)和外关键字(辅表中)的关系。
创建表时定义约束:字段名 数据类型 foreign key(字段名) references 表名(字段名)
注意:foreign Key子句中指定的列数和数据类型必须和在references子句中的列数和数据类型匹配。且关联
的表的字段必须设置为主键.

修改约束
修改表时添加约束

alter table 表名
add constraint 约束名 primary key(字段名) –-主键
add constraint 约束名 unique (字段名)    --唯一
add constraint 约束名 default(默认值) for 字段名 –默认
add constraint 约束名 check(条件) –检查
add constraint 约束名 foreign key(字段名) references 主键表(参照字段名)  --外键

删除约束
语法:

alter table 表名 drop 约束名

【例】 删除 xs表的pk_xs约束。

alter table xs drop constraint  pk_xs

注意:
1.要删除被约束的列,必须先删除约束
2.存在外键约束时,要删除主健,必须先删除对应的外键

关于“SQL server中有哪些约束”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI