1.not null 非空约束
①强制列不接受空值
②例:创建表时,name varchar(6) not null,

2.unique 唯一性约束
①约束唯一标识数据库表中的每条记录
②unique和primary key都为数据提供了唯一性约束
③primary key 拥有自动定义的Unique约束
④注意:每个表中只能有一个primary key约束,但是可以有多个Unique约束
⑤语法:
1.name int unique
2.unique(column_name)
3.CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName) 添加多个约束
4.alter table table_name add unique(column_name) 增加表中的约束
5.ALTER TABLE table_name DROP CONSTRAINT 主键名 删除约束

3.primary key约束
①约束唯一标识数据库表中的每条记录
②主键必须包含唯一的值
③主键列不能为空
④每个表都应该有个主键,但只能有一个主键
⑤语法:
1.StudentID int not null primary key 创建学生编号为主键
2.primary key(Students) 创建学生编号为主键
3.primary key(StudentID,Email) 创建学生ID和Email为联合主键
⑥为已存在的列创建主键
1.alter table table_name add primary key(column_name)
⑦删除主键约束
1.alter table table_name drop primary key
⑧删除主键约束
1.alter table table_name drop constraint 主键约束名 主键约束名可以使用sp_help查询

4.foreign key约束
①一个表中的foreign key 指向另一个表的primary key
②foreign key约束用于预防破坏表之间连接的动作
③foreign key约束也能防止非法数据插入外键列,因为它必须是指向的那个表的值之一
④语法:
1.foreign key (column_name) references 主表名(主键列名) 创建column_name为主表名的外键
2.column_name int foreign key references 主表名(主键列名) 创建column_name为主表名的外键
3.alter table table_name
                  add foreign key (列名) references 主表名(主键列名) 为已存在的列创建外键
4.alter table table_name drop constraint 外键约束名 删除外键约束(SQL Server oracle)
5.alter table table_name drop foreign key 外键约束名 删除外键约束(Mysql)

5.check 约束
①check约束用于限制列中的值的范围
②如果对个单个列做check约束,那么该列只可以输入特定数值
③如果一个表定义check约束,那么此约束会在特定的列对值进行限制
④语法:
1.StudentID int not null check (StudentID>0) 限制StudentID输入的值要大于0 (SQL Server oracle)
2.StudentID int not null, 限制StudentID输入的值要大于0 (Mysql)
check (StudentID>0)
3.sex varchar(2) not null check(sex='男' or sex='女') 限制sex的性别只能是男或者女
4.alter table table_name add check(列名>0) 向已有的列加入check约束
5.alter table table_name drop constraint check约束名 删除约束 约束名可以用 sp_help table_name查看

6.default约束
①default约束用于向列中插入默认值
②如果没有规定其他的值,那么会将默认值添加到所有的新记录中
③语法:
1.name varchar(10) default '张三' name默认插入张三的名字
2.systime date default gatedate() 插入时间的默认值 getetime()函数为时间的默认值
3.alter table table_name add 列名 set default '数值' 向已有列名中插入默认值
4.alter table table_name drop constraint 约束名 删除默认约束

 

sql server 常见约束的更多相关文章

  1. SQL Server常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...

  2. SQL Server 常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 整数类型 int 存储范围是-2,147,483,648到2,147,483,6 ...

  3. SQL SERVER常见等待——解决会话等待产生的系统问题

    SQL SERVER——解决会话等待产生的系统问题 转自: https://blog.csdn.net/z_cloud_for_SQL/article/details/55051215 版权声明:SQ ...

  4. 【转】SQL Server 创建约束图解 唯一 主键-界面操作

    SQL Server 创建约束图解 唯一 主键-界面操作 SQLServer中有五种约束,Primary Key约束.Foreign Key约束.Unique约束.Default约束和Check约束, ...

  5. SQL Server中约束的介绍

    SQL Server中约束的介绍(转载收藏) Posted on 2010-09-03 11:05 grayboy 阅读(8501) 评论(0) 编辑 收藏 作者:GrayBoy 出处:http:// ...

  6. sql server 常见错误代码15000 - 15999含义解析

    错误 15000 - 15999 SQL Server 2008 R2 其他版本 错误 严重性 是否记录事件 说明(消息正文) 15001 16 否 对象 '%ls' 不存在或不是此操作的有效对象. ...

  7. [SQL Server系] -- 约束

    什么是约束? 约束(Constraint)是SQL Server中提供的 自动保存数据库完整性 的一种方法,定义了可输入表或表的列中的数据限制条件. SQL Server中共有5中约束 PRIMARY ...

  8. sql server 的约束的作用 于 理解 [转]

    SQL Server中的约束用来确保系统的完整性.一般约束可以分为:主键约束外键约束检查约束默认约束唯一约束非空约束 但是一般我们需要特别注意前三种约束:主键约束,一就是说跟你系统的实体有很大的关系, ...

  9. SQL SERVER 常见SQL和函数使用

    一.语法 参考原文:https://blog.csdn.net/xushaozhang/article/details/55053037 1.查询插入 (1)SELECT INTO 语句格式: Ora ...

随机推荐

  1. 元组的简单介绍——参考Python编程从入门到实践

    元组 用于存储一系列不可修改的元素 1. 元组的定义 dimensions = (200, 50) # 定义一个元组,即将元素用圆括号括起来 print(dimensions[0]) # 打印元组中的 ...

  2. OpenCV学习笔记3

    OpenCV学习笔记3 图像平滑(低通滤波) 使用低通滤波器可以达到图像模糊的目的.这对与去除噪音很有帮助.其实就是去除图像中的高频成分(比如:噪音,边界).所以边界也会被模糊一点.(当然,也有一些模 ...

  3. Spring AOP日志实现(二)--获取访问者IP及访问路径

    获取类及方法上的@RequestMapping注解: 应该是不等于: 获取访问者的ip地址,首先配置一个监听器: 配置完监听器后,就可以在类中注入一个HttpServletRequest: 获取ip:

  4. Arm-Linux 移植 mtd-utils 1.x

    有关文章:<mtd-utils 的 使用> 背景: 关于在公司的生产环境有关.不希望每次都在uboot下面做nand flash 的烧写:也觉得使用U盘升级的方法比较慢,而且有关的驱动不是 ...

  5. 什么是RAID(磁盘阵列)

    RAID全称Redundant Array of Independent Disk,即独立冗余磁盘阵列.RAID技术由加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同 ...

  6. .NET调用腾讯云API实例

    最近项目有用到腾讯云的身份识别接口,话不多说,直接上代码: private void IDCardVerification(HttpContext context) { string imgStr = ...

  7. centos+docker+jenkins

    1.直接运行jenkins镜像,无该镜像会直接下载 docker run -p 8080:8080 -p 50000:50000 -d -v /home/jenkins-home-docker:/va ...

  8. JS实现倒计时效果,并退出系统

    背景:由于单点登录后,一直在本系统操作,可是门户体统的会话失效时间有30分钟,所以30分钟后,需要重新登录系统才可以进行操作. 方法:想过在本系统中的每个操作都先跟门户系统进行交互,渠道refresh ...

  9. stm32 引脚映射 和 ADC

    老是弄不明白ADC的输入到底在哪,看了stm32F103Ve的datasheet,将引脚和通道的映射关系贴在下面: 好了,写到这,我已经看了中文手册一上午了,可是啥都没看懂,下午接着看,写代码不重要, ...

  10. Leaflet 调用百度瓦片地图服务

    在使用 leaflet 调用第三方瓦片地图服务的项目,主要谷歌地图.高德地图.百度地图和 OSM 地图,与其他三种地图对比,百度地图的瓦片组织方式是不同的.百度从中心点经纬度(0,0)度开始计算瓦片, ...