SQLServer中有五种约束,Primary Key约束、Foreign Key约束、Unique约束、Default约束和Check约束,今天使用SQL Server2008来演示下这几种约束的创建和使用的方法。

1、Primary Key约束

在表中常有一列或多列的组合,其值能唯一标识表中的每一行。

这样的一列或多列成为表的主键(PrimaryKey)。一个表只能有一个主键,而且主键约束中的列不能为空值。只有主键列才能被作为其他表的外键所创建。

创建主键约束可以右键单击表,选择设计。

选中要创建主键的列,然后单击上面的小钥匙。

也可以右键需要创建主键的列,然后单击小钥匙。

2、Foreign Key约束

外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。

右键单击需要设置外键的列(此时的表是作为从表在外键中出现),选择关系。

接下来点击添加-->表和列规范。

在主键表中选择主表和主表的主键列。

设置完后保存即可。

3、Unique约束

唯一约束确保表中的一列数据没有相同的值。与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束。

右键单击要设置的列选择索引/键。

然后单击添加按钮。

选择需要设置的列,可以是一列也可以是多列的组合。

关闭并保存设置。

4、Default约束

若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为NULL。

以学生信息表为例,在表设计器中,为性别sex列填写默认值男。

5、Check约束

Check约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。在列中更新数据时,所要输入的内容必须满足Check约束的条件,否则将无法正确输入。

以学生信息表中的sex为例,我们要限制sex列的值只能为男或女。

关闭并保存设计。

致此,数据库中的五种约束情况又复习了一遍,约束确保了数据库中数据的完整性,但只有约束是远远不够的。

转载于:https://www.cnblogs.com/itjeff/p/7009373.html

SQL Server 创建约束图解 唯一 主键相关推荐

  1. SQL Server2008创建约束图解 唯一性约束

    SQL Server2008创建约束图解 复习一下数据库的约束 机房收费系统个人重构版开始了,但在设计数据库时遇到了写小麻烦,主要是数据库中约束的应用,以前在学习数据库时进行了总结,在刚开始学习时使用 ...

  2. 两个主键怎么设置tsql_如何在sql server中设置两个主键?

    展开全部 主键是数据库表的一个重要属性,建立主键可以避免表中存在完全相同的记录,也就是说主键在e68a8462616964757a686964616f31333365633938一张表中的记录值是唯一 ...

  3. 4 SQL server(定义表的主键 外键 ,记录增删改查)

    目录 1. 主键和外键 1.1  通过管理工具创建外键​ 1.2 通过脚本创建外键关联 2 新增表记录 2.1 图形界面 新增记录: 2.2 SQL脚本新增记录: 2.2.1 插入单条记录 ​ 2.2 ...

  4. SQL server 去重复!要主键!要排序!

    在SQL里,似乎去重复又要主键还要排序,那是不可能实现的:但是我把不可能,变成了可能:我做了这么久开发这个问题一直困扰着我,今天把它给解决了,分享给大家学习: SELECT  * FROM    ( ...

  5. sql server 主键_SQL Server中人口过多的主键和CE模型的变化

    sql server 主键 In this blog post, we are going to talk about another cardinality estimation model enh ...

  6. 使用SQL脚本创建数据库,操作主键、外键与各种约束(MS SQL Server)

    在实际开发中,可能很少人会手写sql脚本来操作数据库的种种.特别是微软的MS SQL Server数据库,它的SQL Server Management Studio对数据库的图形化操作极致简便,从而 ...

  7. mysql外键约束脚本_使用SQL脚本创建数据库,操作主键、外键与各种约束(MS SQL Server)...

    在实际开发中,可能很少人会手写sql脚本来操作数据库的种种.特别是微软的MS SQL Server数据库,它的SQL Server Management Studio对数据库的图形化操作极致简便,从而 ...

  8. [Err] 23000 - [SQL Server]不能在具有唯一索引 'IX_student_info_2' 的对象 'dbo.student_info' 中插入重复键的行

    1.错误描述 [SQL]UPDATE dbo.student_info SET info_name = '' [Err] 23000 - [SQL Server]不能在具有唯一索引 'IX_stude ...

  9. SQL Server创建表语句介绍

    SQL Server创建表是最常见也是最常用的操作之一,下面就为您介绍SQL Server创建表的语句写法,供您参考,希望可以让您对SQL Server创建表方面有更深的认识. USE suntest ...

最新文章

  1. 黑客之王!韩国神童登顶黑客界的“极限挑战”
  2. Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)
  3. clipboard_monitor_in_win7
  4. dbnull和null_NULL和DBNull的区别分析
  5. CM:How is the version of word installed in client returned to Application server
  6. 什么从什么写短句_从什么到从什么造句
  7. 中国体重管理饮料市场趋势报告、技术动态创新及市场预测
  8. PROFINET 模拟器使用教程
  9. 广义线性混合模型GLMM
  10. Hbase 二级索引示意图
  11. 大学生微信小程序项目总结
  12. 8.12 腾讯大战360 2133
  13. Java判断上海自来水来自海上_JavaAPI
  14. 老有“美女”加你微信?大学生“艳遇”,结果吓一跳...
  15. Linux搭建泰拉瑞亚(原版/模组/插件)服务器之1.3模组服务器
  16. STM32F411核心板固件库开发(三) 按键检测
  17. 学习tensorflow之mac上安装tensorflow
  18. 一个用 C 语言写的迷你版 2048 游戏,仅仅有 500个字符
  19. ubuntu16.04安装kinetic ROS记录
  20. 路径中的'.'和'..'还有'./'和'../'都是什么意思

热门文章

  1. java format 字符_JAVA字符串格式化-String.format()的使用
  2. 用算法代替生物大脑,90后博士造出活的微型机器人登上Science子刊
  3. 全球最大的公开人脸数据集 | 清华大学芯翌科技联合发布
  4. 2019中国独角兽新增数锐减62%,仅有22家;美国新增78家,占全球大半
  5. vue 巧用过渡效果
  6. mysqldump 导出数据库各参数详细说明
  7. Android程序员的技术要求和学习路线
  8. 揭秘HPE的最新一代组合式基础设施Synergy
  9. 如何做618数据复盘?你需要掌握这8大思路
  10. Photoshop激活教程