SQL基础知识V2——约束(语法)

SQL专栏数据库

SQL数据库基础知识汇总数据库设计

SQL数据库高级知识汇总ide

约束的做用设计

约束是做用于数据表中列上的规则,用于限制表中数据的类型。约束的存在保证了数据库中数据的精确性和可靠性。索引

约束有列级和表级之分,列级约束做用于单一的列,而表级约束做用于整张数据表。it

下面是 SQL 中经常使用的约束,这些约束虽然已经在关系型数据库管理系统一章中讨论过了,可是仍然值得在这里回顾一遍。table

  • NOT NULL 约束:保证列中数据不能有 NULL 值class

  • DEFAULT 约束:提供该列数据未指定时所采用的默认值基础

  • UNIQUE 约束:保证列中的全部数据各不相同用户体验

  • 主键约束:惟一标识数据表中的行/记录

  • 外键约束:惟一标识其余表中的一条行/记录

  • CHECK 约束:此约束保证列中的全部值知足某一条件

  • 索引:用于在数据库中快速建立或检索数据

约束能够在建立表时规定(经过 CREATE TABLE 语句),或者在表建立以后规定(经过 ALTER TABLE 语句)。

建立约束
当使用CREATE TABLE语句建立表时,或者在使用ALTER TABLE语句建立表以后,能够指定约束。

语法
CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
)

删除约束
任何现有约束均可以经过在 ALTER TABLE 命令中指定 DROP CONSTRAINT 选项的方法删除掉。

例如,要去除 EMPLOYEES 表中的主键约束,能够使用下述命令:

ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK;

一些数据库实现可能提供了删除特定约束的快捷方法。例如,要在 Oracle 中删除一张表的主键约束,能够使用以下命令:

ALTER TABLE EMPLOYEES DROP PRIMARY KEY;

某些数据库实现容许禁用约束。这样与其从数据库中永久删除约束,你能够只是临时禁用掉它,过一段时间后再从新启用。

完整性约束
完整性约束用于保证关系型数据库中数据的精确性和一致性。对于关系型数据库来讲,数据完整性由参照完整性(referential integrity,RI)来保证。

有不少种约束能够起到参照完整性的做用,这些约束包括主键约束(Primary Key)、外键约束(Foreign Key)、惟一性约束(Unique Constraint)以及上面提到的其余约束。

批注

约束的种类有不少,经过约束咱们可让进入数据库的数据更加规范,虽然这样作会很麻烦,有时候甚至还可能影响用户体验,可是仍是建议尽可能让你的数据库设计的更加规范,只有数据规范了,在以后的数据处理过程当中或数据查询分析过程当中才会更加高效。本节主要介绍语法部分,下一节会着重介绍各个约束的使用方法。

相关文章
相关标签/搜索