关于SQL Server数据表的五种约束
2015-07-07 21:09
232 查看
1、主键约束(PRIMARY KEY)
主键约束可以在表中定义一个主键值,它可以唯一确定表中每一条记录,每个表中只能有一个主键约束(只能有一个主键约束的意思并不是说受主键约束的列只能有一个),并且受主键约束的列不能为空值。如果主键约束定义在不止一列上,则某一列中的值可以存在重复,但是受主键约束的所有列的组合值必须唯一。
2、唯一性约束(UNIQE)
唯一性约束确保在非主键列中不输入重复的值。用于指定一个或多个列的组合具有唯一性,以防止在列中输入重复的值。可以在一个表中定义多个唯一性约束,但是只能定义一个主键约束。唯一性约束允许空值,但是当和参与唯一性约束的任何值一起使用时,每列只允许一个空值。
3、检查约束
检查约束对于输入列或者整个表中的值设置检查条件,可以限制输入值,以保证数据库之间的完整性。检查约束通过数据的逻辑表达式来确定有效值。例如:定义一个age年龄字段,可以通过创建CHECK约束条件,将age字段里面的值的范围限定在0到150之间(age >=0 AND age<=150)。
每个字段只能设置一个检查约束。
检查约束中不能包含子查询。
一个列级检查约束只能与限制的字段有关,一个表级检查约束只能与限制的表中的字段有关。
4、默认约束
默认约束指定在插入操作中如果没有提供输入值时,系统会自动制定插入值,即使该值是NULL。当必须向表中加载一行数据但是不知道某一列的值,或者是该值尚不存在时,此时可以使用默认值约束。
5、外键约束
原文地址:http://www.phpxs.com/post/3154
主键约束可以在表中定义一个主键值,它可以唯一确定表中每一条记录,每个表中只能有一个主键约束(只能有一个主键约束的意思并不是说受主键约束的列只能有一个),并且受主键约束的列不能为空值。如果主键约束定义在不止一列上,则某一列中的值可以存在重复,但是受主键约束的所有列的组合值必须唯一。
2、唯一性约束(UNIQE)
唯一性约束确保在非主键列中不输入重复的值。用于指定一个或多个列的组合具有唯一性,以防止在列中输入重复的值。可以在一个表中定义多个唯一性约束,但是只能定义一个主键约束。唯一性约束允许空值,但是当和参与唯一性约束的任何值一起使用时,每列只允许一个空值。
3、检查约束
检查约束对于输入列或者整个表中的值设置检查条件,可以限制输入值,以保证数据库之间的完整性。检查约束通过数据的逻辑表达式来确定有效值。例如:定义一个age年龄字段,可以通过创建CHECK约束条件,将age字段里面的值的范围限定在0到150之间(age >=0 AND age<=150)。
每个字段只能设置一个检查约束。
检查约束中不能包含子查询。
一个列级检查约束只能与限制的字段有关,一个表级检查约束只能与限制的表中的字段有关。
4、默认约束
默认约束指定在插入操作中如果没有提供输入值时,系统会自动制定插入值,即使该值是NULL。当必须向表中加载一行数据但是不知道某一列的值,或者是该值尚不存在时,此时可以使用默认值约束。
5、外键约束
原文地址:http://www.phpxs.com/post/3154
相关文章推荐
- 几种常见SQL分页方式效率比较
- T-SQL的存储过程
- mysql 的配置引用和一些基本操作
- mysql更改用户的密码
- MySQL体系结构以及各种文件类型学习
- mysql 字符串转换为日期 日期格式化
- redis-cli 命令总结
- 把从数据库中查询出的一个字段封装到一个List中,返回List
- Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
- 用navicat链接不上ubuntu中的mysql服务器
- Oracle成长点点滴滴(1)— 安装和配置
- Mysql创建用户的三种基本方法
- Oracle Database 11.2.0.4.0 已在 中标麒麟Linux x86-64 NeoKylin Linux Advanced Server 6 上通过认证
- SQL_CASE WHEN &临时表 &xml to table 混合实例
- redis命令参考(五) Hashes
- C#第四次作业 数据库操作
- redis命令参考(四) set集合
- MySql远程访问无法连接的问题!
- Mysql备份还原数据库之mysqldump实例及参数详细说明
- 利用SQL进行推理