`

SQL约束详解

 
阅读更多

在数据库中,约束条件能够自动增强数据的完整性,也就是说通过规则的定义确定列中所允许的数据值。对于一个列的约束称为列约束,它仅约束这一列的值,例如,在【性别】列中,只允许取男、女两个值。对于两个或者多个列的约束称为表约束。

 

在SQL 中,约束条件有以下类型:

 

p 空值约束:该列是否允许为空值。

 

p 唯一约束:保证该列不允许出现重复值,也就是说,保证列值的唯一性。

 

p 主键约束:设置表的主键。

 

p 外键约束:设置表的外键。

 

p 检查约束:限制列中允许的取值以及多个列之间的关系。

 

 

空值约束

             空值约束用于说明列中是否允许出现空值,有时也称为空值约束。在SQL中使用NULL或者NOT NULL表示空值约束。

 

唯一约束

             唯一约束保证一列或者一组列中不允许有重复值。在SQL语句中使用UNIQUE表示唯一约束,但要注意:它与PRIMARY KEY(主键)有区别,主键不允许有空值。UNIQUE列允许有一个空值。

 

主键约束

           主键(PRIMARY KEY)是表中唯一标识一行的一个列或者多个列,并且主键列不允许为空值。一张表只能有一个主键,但是这张表可以有多个唯一列(UNIQUE)。作为主键的列可以为一列,也可以为多个列。如何创建主键参见具体实例。

 

外键约束

            外键说明了两张表之间的联系。一张表的外键由一个列或者多个列所组成,并且它(们)是另外一张表的主键或者UNIQUE约束列。例如成绩表中的学号是该表的外键,因为成绩表中学号的取值要参照学生基本表中的学号取值,同样成绩表中的课程号要参照课程表中的课程号。

检查约束

            检查约束的表现形式是CHECK, 所以有时也成为CHECK约束。CHECK约束用于限制列的取值范围,其语法格式为:

 

CONSTRAINT <约束名称> CHECK (<表达式>)

           其中, <约束名称>在数据库中是唯一的。如果<表达式>涉及到一列,则称为列级CHECK约束;如果<表达式>涉及到多个列,则称为表级CHECK约束。

分享到:
评论

相关推荐

    sqlserver约束详解

    sqlserver 数据库中主键,唯一键,外部键,约束键的创建与删除详解

    sql外键约束

    sql外键约束解释,foreign tag

    Sql 语句详解

    全网最全的SQL 讲解,带实例描述 目录概要: 1. SQL 简介 3 2. SQL 语法 4 3. SQL SELECT 语句 5 4. SQL WHERE 子句 7 5. SQL AND & OR 运算符 8 ...24. SQL 约束 (Constraints) 30 25. SQL NOT NULL 约束 31 ……

    sql 触发器 详解与实例

    触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server ...

    【原创精华】sql server 约束详解

    1.非空约束 not null:数据不能为空 2.主键约束primary key(列名):保证记录唯一性,要求值必须唯一且不能为空;一个表只能有一个主键 GroupId int identity(1001,1) primary key  3.外键约束foreign key ...

    Oracle数据库Sql语句详解大全

    第一章 SELECT查询 写一条SELECT查询语句 在查询中使用表达式、运算符 ...使用约束 第九章 对数据的操作 在已创建表中插入新的数据 修改已经存在的数据 删除表中的数据 理解事物控制及其重要性 等等......

    精通SQL--结构化查询语言详解

    第1章 数据库与sql基础 1 1.1 数据库的基本概念 1 1.1.1 数据库的由来 1 1.1.2 数据库系统的概念 3 1.2 数据库系统的结构、组成及工作流程 3 1.2.1 数据库的体系结构 3 1.2.2 数据库系统的组成 4 1.2.3 ...

    精通SQL 结构化查询语言详解

    《精通SQ:结构化查询语言详解》全面讲解SQL语言,提供317个典型应用,读者可以随查随用,针对SQL Server和Oracle进行讲解,很有代表性。 全书共包括大小实例317个,突出了速学速查的特色。《精通SQ:结构化查询语言...

    SQL_Server_DBA工作内容详解

    资源名称:SQL_Server_DBA工作内容详解资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    sql详解-oracle

    非常详细的的整理了sql相关的知识、包括 数据类型、函数、查询、关联查询、高级查询、索引、约束、优化等知识

    SQLSserver2008 上

    4、SQL视频教程-T-SQL创建数据库详解2 ? 5、SQL视频-T-SQL语言与SQL语言的区别 ? 6、SQL 2008视频教程-T-SQL语句1 ? 7、SQL 2008视频教程-T-SQL语句2 ? 8、SQL 2008视频教程-T-SQL语句3 ? 9、...

    SQL Server零基础学起你必会(二)表和约束概念详解,用SQL命令建表和约束

    SQL Server零基础学起你必会(二)表和约束概念详解,用SQL命令建表和约束利用SQL命令建表和约束六大约束实战指令合集实例流程关系实战指令合集实例流程查看数据关系的建立关系图总结主键外键先删主键表还是外键表...

    Oracle PL/SQL语言初级教程

    3.PL/SQL单行函数和组函数详解 29 单行字符串函数 30 单行转换函数 37 SQL中的组函数 40 嵌套函数 42 4.Oracle数据库数据对象分析(上) 42 删除表和更改表名 46 管理视图 47 5.Oracle数据库数据对象分析(中) 49 ...

    SqlServer触发器详解

     触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。SQL3的触发器是一个能由系统自动执行对数据库修改的语句。  触发器可以查询其他表,而且可以包含...

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

    1.3 逻辑查询处理阶段详解 1.3.1 步骤1:FROM阶段 1.3.2 步骤2:WHERE阶段 1.3.3 步骤3:GROUP BY阶段 1.3.4 步骤4:HAVING阶段 1.3.5 步骤5:SELECT阶段 1.3.6 步骤6:排序用的ORDER BY阶段 1.4 逻辑查询...

    SQL Server 触发器实例详解

    Microsoft SQL Server:trade_mark: 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器。触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动...

    SQLServer2008技术内幕T-SQL查询包含源代码及附录A

    1.3 逻辑查询处理阶段详解5 1.3.1 步骤1:FROM阶段5 1.3.2 步骤2:WHERE阶段9 1.3.3 步骤3:GROUP BY阶段10 1.3.4 步骤4:HAVING阶段11 1.3.5 步骤5:SELECT阶段12 1.3.6 步骤6:排序用的ORDER BY阶段13 1.4 逻辑...

    SQL Function 自定义函数详解

    3. 可以在表列和 CHECK 约束中使用自定义函数来实现特殊列或约束 4. 自定义函数不能有任何副作用。函数副作用是指对具有函数外作用域(例如数据库表的修改)的资源状态的任何永久性更改。函数中的语句唯一能做的...

    MySQL数据库开发教程-基础概念、SQL语法和Node.js操作详解

    - 文件里介绍了MySQL的一些基本概念,如数据库范式、字段约束、函数、事务等。 - 还提供了SQL语句的详细语法,如SELECT、INSERT、UPDATE、DELETE等。 - 最后给出了Node.js操作MySQL数据库的代码示例。 适用人群: ...

Global site tag (gtag.js) - Google Analytics