欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL server约束

程序员文章站 2022-04-06 22:49:35
...

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

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约束 的详细内容,更多请关注其它相关文章!

相关标签: server 约束