SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 约束的概念:确保在列中输入有效的值并维护表之间的关系。 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约束 的详细内容,更多请关注php中文网其它相关文章!
学习教程快速掌握从入门到精通的SQL知识。
|