Sql Server——约束
约束是什么:
每个人都在网站或者APP上注册过账号,在注册账号时会限制用户名、密码等格式,如果格式不对就不能注册。在数据库中我们可以通过约束来进行限制,超过约束范围的数据就不能写入。
约束的种类:
主键约束:主键列的值不能为空,并且不能重复(主键约束是特殊的唯一约束),有主键约束的列可以被其他表引用,一个表中只能有一个主键约束。
唯一约束:有唯一约束的列中的数据不能重复,但可以为空值(NULL)。
检查约束:限制某个列中的数据的取值范围。
默认约束:设置默认约束后的列,在不输入数据的情况下,数据库会自动显示我们设置的默认值。
外键约束:外键约束和主键约束是搭配使用的,外键约束列中的数据范围是在引用的主键列之中的,不得超出主键列的范围(也就是外键列中的数据只能是主键列中存在的值),外键列的数据类型要和主键列的一样。
如何创建约束:
主键约束:鼠标右键点击要创建主键约束的列名,再点击设置主键就可以了。

唯一约束:和上面一样,鼠标右键点击需要创建唯一约束的列

然后点击索引/键,把类型后面的索引改成唯一件就可以了。

检查约束:同上,点击CHECK(检查)约束

先添加,再点击表达式后面的文本框就可以创建主键约束了。

默认约束:在设计表的下面,就有默认值的设置框,在后面的文本框添加默认值就可以了。

外键约束:
(1)右击要创建约束的表,在弹出的快捷菜单中选择“设计”命令;
(2)右击该表中的某一列,在弹出的快捷菜单中选择“关系”命令,弹出“外键关系”对话框,单击“添加”按钮,添加要选中的关系;
(3)在“外键关系”对话框中,单击“表和列规范”文本框中的“...”按钮,选择要创建外键约束的主键表和外键表;
(4)在“表和列”对话框中,设置关系的名称,然后选择外键要参照的主键表及使用的字段。最后单击“确定”按钮,返回“外键关系”对话框中。
常用约束示例:
主键约束:一般情况下,一张表中的第一列(编号列)会被设置为主键列,因为Sql Server中只允许一张表描述一件事情,所以我们在其他表用外键引用该表的内容时就只需引用该表的主键列的序号就可以了。
检查约束:在我的作业中,最多的就是约束性别只能输入男或女,代码为:sex='男' or sex='女'(此处定义性别列名为sex,注意:字符一样要用单引号引起来,数据库里的逻辑是or and not ,并不是程序里的|| && !)。还有就是约束数据长度,如电话号码,身份证号码(这两个还要唯一),约束长度就要用到函数len()了,代码为: 电话号码:len(tel)=11 身份证号码:len(ID)=18,括号里的就是列名。
默认约束:设置默认约束只需在默认值后面的框中输入默认值就可以了。但要把一个时间设置为默认时间(就是当前时间)就得用函数,即在框中输入:getdate() 即可。
主键约束:在创建主键约束时需要注意的就是,(1)不能把要引用的对象表搞错,(2)主键和外键要对应,(3)主键和外键的数据类型必须一致。
想了解更多加我QQ吧!1289747698.等你哟!
Sql Server——约束的更多相关文章
- Sql Server约束的学习二(检查约束、默认约束、禁用约束)
接上一篇的Sql Server约束学习一(主键约束.外键约束.唯一约束) 4.检查约束 1)检查约束的定义 检查约束可以和一个列关联,也可以和一个表关联,因为它们可以检查一个列的值相对于另一个列的值, ...
- Sql Server约束的学习一(主键约束、外键约束、唯一约束)
一.约束的分类 1.实体约束 实体约束是关于行的,比如某一行出现的值不允许出现在其他行,例如主键约束. 2.域约束 域约束是关于列的,对于所有行,某一列有那些约束,例如检查约束. 3.参照完整性约束 ...
- SQL Server - 约束 CONSTRAINT
总结 约束放置在表中,以下五种约束: NOT NULL 非空约束C 指定的列不允许为空值 UNIQUE 唯一约束U 指定的列中没有重复值,或该表中每一个值或者每一组值都将是唯一的 PRIMARY KE ...
- Ms SQL Server 约束和规则
一.SQL约束 约束定义关于列中允许值的规则,是强制完整性的标准机制. 使用约束优先于使用触发器.规则和默认值.查询优化器也使用约束定义生成高性能的查询执行计划. 1:类型 约束的类型一共分三种 域约 ...
- SQL server约束
约束的概念:确保在列中输入有效的值并维护表之间的关系. Primary key约束 功能:primary key(主键约束),一个表中只能有一个,不能有空值,不能有重复值. 创建表时定义约束:字段名 ...
- sql server 约束 查找
--1.主键约束 SELECT tab.name AS [表名], idx.name AS [主键名称], col.name AS [主键列名] FROM sys.indexes idx JOIN s ...
- SQL Server 约束的增删改
1. 非空约束 列的为空性决定表中的行是否可以包含空值.空置(NULL)不同于零(0)/空白或者长度为零的字符串(“”). (1)创建非空约束 create table orders ( docent ...
- 温习SQL server
做了好几年的管理工作,技术上有些退步,现在又一一捡起来啦, 以下最近几天看到的好文章, SQL Server约束 http://blog.csdn.net/qq61394323/article/det ...
- Sql Server总结
主键 主键就是数据行的唯一标识.不会重复的列,才能当主键.一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键.主键有两种选用策略:业务主键和逻辑主键. 业务主键是使用有业务意义的 ...
随机推荐
- Docker入门书籍
https://yuedu.baidu.com/ebook/d817967416fc700abb68fca1 精细讲解,入门使用极佳.
- 缓存(Cache)
l如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差.而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能.这样无论有多少人访 ...
- windows server数据库备份
@echo off //设置生成文件名字 set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"//使用mysqldump输出sql文件 cesec ...
- Spring3.x企业开发应用实战读书笔记 —— 第三章IoC容器概述
声明: 本篇博客绝大多数内容为<Spring3.x企业开发应用实战>一书原内容,所有版权归原书作者所有!,仅供学习参考,勿作他用! 3.2 相关Java基础知识 Java语言允许通过 ...
- Head First设计模式之代理模式
一.定义 定义:为其他对象提供一种代理以控制对这个对象的访问 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口. 二.结构 代理模式一般会有三个角色: 抽象角色(Subject):指代 ...
- Linux下设置SSH端口
SSH 为 Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话 ...
- java中碰到无法解决的问题:无法访问类的getter访问器
大牛们来看看,俺这是咋了?因博问不让发图,发到这里求助: 以上两个方法都是从mysql中select数据,为嘛第二个出现辣鸡报错? 请注意: reslist.size() = 289 第二种方法已经获 ...
- 使用MSHTML解析HTML页面
最近在写一个爬虫项目,本来打算用C/C++来实现,在网上查找有关资料的时候发现了微软的这个MSHTML库,最后发现在解析动态页面的时候它的表现实在是太差:在项目中需要像浏览器那样,执行JavaScri ...
- 常用Atom插件列表
1.simplified-chinese-menu Atom的简体中文语言包,完整汉化,兼容所有已发布的版本Atom. 2.tree-view-finder 左边菜单栏显示方式,类似Mac OS下的f ...
- Lottie的使用
一.简介 Lottie是Airbnb开源的一个面向IOS.Android.React Native的动画库,能分析Adobe After Effects导出的动画,并且能让原生App像使用静态素材一样 ...