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. MATLAB 单元数组 cell 和结构体 struct 的用法以及区别

    1. 前言 Matlab单元数组cell和结构体struct都可以将不同类型的相关数据集成到一个单一的变量中,使得大量的相关数据的处理变得非常简单而且方便.但是,需要注意的是,单元数组和结构体只是承载 ...

  2. 关于python的一次性能调优过程

    问题 这两天在公司帮老大写一个程序功能,要求抓取从elasticsearch和kibana服务器上返回的数据,统计所有hits的数据字段ret_code为0的hit,并计算其占有率等一些功能. 功能倒 ...

  3. golang之方法

    golang中的方法是作用在指定的数据类型上的(即:和指定 数据类型绑定),因此自定义类型,都可以有方法,而不仅仅是在struct. 方法的使用: type Person struct { Num i ...

  4. 简单添加自己的驱动程序到Linux内核树中

    背景: 移植4g模块的时候,看到文档中有添加驱动到内核的步骤,于是趁着这个机会,展开有关的学习. 了解更多可以访问:<Kconfig语法简介> Target :hi3531d Linux ...

  5. JQuery 文本框控制验证数字

    $("input[name=XUEFEN]").keypress(function(event) { var keyCode = event.which; if (keyCode ...

  6. Hadoop Local(本地)模式搭建

    1. 下载压缩包 2. 配置环境变量 3. 配置Hadoop的JAVA_HOME路径 4. WordCount 1. 下载压缩包 下载Hadoop binary二进制压缩包 https://hadoo ...

  7. rabbitmd

    一.前期准备   (1)条件:准备3台linux系统,确保能连到download.yunwei.edu   (2)编写yum源下载脚本: vim yum-repo.sh wget -O /etc/yu ...

  8. 【转】JRE和JDK的区别

    用一幅图来宏观的看一下 从图中可以看出JDK包含JRE包含JVM. JDK:java development kit (java开发工具) JRE:java runtime environment ( ...

  9. Java 之 ObjectOutputStream 类

    ObjectOutputStream 类 1.概述 java.io.ObjectOutputStream extends OutputStream ObjectOutputStream:对象的序列化流 ...

  10. JDBCUtils工具类配置文件的读取方式

    //第一种方式 Properties prop= new Properties();        //读取文件   通过类加载读取        InputStream is = JDBCUtils ...