`

SQL 约束详解

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约束详解

    ### SQL Server 约束详解 #### 一、引言 在 SQL Server 数据库系统中,数据完整性是非常重要的一个方面,它确保了数据库中的数据准确无误且一致。为了维护这种完整性,SQL Server 提供了多种类型的约束机制,包括...

    Oracle PL-SQL编程详解.pdf

    - 触发器是在特定数据库事件(如INSERT、UPDATE、DELETE)发生时自动执行的PL/SQL代码,用于实现数据库级别的规则和约束。 PL/SQL还支持多种SQL语句,如DML(数据操纵语言)的INSERT、UPDATE、DELETE、SELECT INTO...

    sqlite 支持的 sql 语法详解

    3. 不支持 CHECK 约束。 4. 不支持某些特定的聚合函数,如 GROUP_CONCAT 在 MySQL 中常见,但在 SQLite 中没有。 5. 不支持窗口函数,如 RANK()、LEAD() 和 LAG()。 6. 不支持某些复杂的子查询操作。 以上就是...

    SQL约束(建表、建约束、关系)

    ### SQL约束(建表、建约束、关系) #### 基础概念 SQL中的约束(Constraint)是一种由Microsoft SQL Server提供的机制,用于自动维护数据库的完整性。约束定义了可以输入到表或表的单个列中的数据的限制条件。...

    sqlloader详解

    ### SQL*Loader详解 #### 一、SQL*Loader概述 SQL*Loader是Oracle数据库系统中一个强大而灵活的工具,其主要功能是从各种外部数据源批量导入数据到Oracle数据库。随着现代数据库规模的不断扩大,从GB级扩展到TB级...

    sql外键约束

    在SQL(结构化查询语言)中,外键约束是一种重要的关系数据库完整性机制,它用于确保数据的一致性和准确性。外键约束是两个表之间的一种关联,一个表中的外键引用了另一个表的主键,从而建立了两个表之间的联系。...

    sql 触发器 详解与实例

    【SQL触发器详解与实例】 SQL触发器是数据库管理系统中的一种特殊存储过程,它与普通存储过程的主要区别在于,触发器并非由用户直接调用,而是由特定的数据库操作(如INSERT、UPDATE、DELETE)自动触发执行。触发器...

    T-SQL语法详解

    T-SQL语法详解 在SQL Server中,T-SQL(Transact-SQL)是一种扩展了标准SQL的编程语言,主要用于管理和操作数据库。本篇将详细阐述T-SQL中与数据库存储结构相关的知识点。 1. 数据库存储结构 数据库在SQL Server...

    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语言详解参考大全

    本资源“SQL语言详解参考大全”旨在为学习者提供全面的SQL语法和操作指南。 1. **SQL基础概念**: - 数据库:存储数据的容器,由表、索引、视图等组成。 - 关系型数据库:基于关系理论,以表格形式组织数据的...

    SQL Server详解.pdf

    ### SQL Server 详解 #### 一、SQL Server 的基本概念 SQL Server 是一款由微软公司推出的强大关系型数据库管理系统(RDBMS)。该系统利用结构化查询语言(SQL)来进行数据库管理和数据操作。SQL Server 中的数据...

    oracle约束详解

    ### Oracle约束详解 在Oracle数据库管理系统中,约束是用于确保数据完整性和一致性的规则或条件。这些约束可以被定义在表级别的字段上,用来限制存储在表中的数据类型。通过实施约束,我们可以确保数据的质量,并...

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

    完整性控制章节讲解了完整性约束的类型和具体实现,存储过程与函数章节详细说明了SQL Server和Oracle中如何创建和管理存储过程与函数。SQL触发器章节则介绍了触发器的种类、创建和管理方法。 第十七章为SQL游标的...

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

    以上就是SQL Server中关于数据约束的基本概念和应用,理解并合理运用这些约束对于构建高效、可靠的数据存储系统至关重要。在实际的数据库设计中,应根据具体需求选择适合的约束类型,以确保数据的准确性和一致性。

    SQLServer详解23个ppt

    本资源“SQLServer详解23个ppt”显然是一份详尽的教程,涵盖了SQL Server的重要概念和技术,包括视图、存储过程、触发器、多表查询以及子查询。以下是对这些关键知识点的深入解析: 1. 视图(View):视图是SQL ...

    sql系统表详解

    以下是对标题【sql系统表详解】中描述的内容的详细说明。 1. sysaltfiles:此系统表存储了主数据库文件的信息,包括主文件、日志文件等。主数据库是SQL Server启动时加载的第一个数据库,它包含了系统表本身的数据...

    SQL返回码详解

    ### SQL返回码详解 #### 一、概述 在IT领域,特别是数据库管理方面,SQL(Structured Query Language)作为处理和管理关系型数据库的标准语言,在执行各种数据库操作时可能会遇到多种情况,包括成功与失败等不同...

Global site tag (gtag.js) - Google Analytics