SQL - 约束

约束是对表的数据列强制执行的规则.这些用于限制可以进入表的数据类型.这可以确保数据库中数据的准确性和可靠性.

约束可以是列级别或表级别.列级约束仅应用于一个列,而表级约束应用于整个表.

以下是SQL中可用的一些最常用的约束.这些约束已在 SQL  -  RDBMS Concepts 章节中讨论过,但此时修改它们是值得的.

  • NOT NULL约束 : 确保列不能具有NULL值.

  • DEFAULT Constraint  : 如果未指定列,则为列提供默认值.

  • UNIQUE Constraint  : 确保列中的所有值都不同.

  • PRIMARY Key  : 唯一标识数据库表中的每一行/记录.

  • 外键;唯一标识任何给定数据库表中的行/记录.

  • 检查约束; CHECK约束确保列中的所有值都满足某些条件.

  • INDEX  : 用于非常快速地从数据库创建和检索数据.

使用CREATE TABLE语句创建表时可以指定约束或即使在创建表之后,也可以使用ALTER TABLE语句创建约束.

删除约束

可以删除已定义的任何约束使用带有DROP CONSTRAINT选项的ALTER TABLE命令.

例如,要删除EMPLOYEES表中的主键约束,可以使用以下命令.

 
 ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK;

某些实现可能会提供删除某些约束的快捷方式.例如,要删除Oracle中表的主键约束,可以使用以下命令.

 
 ALTER TABLE EMPLOYEES DROP PRIMARY KEY;

某些实现允许您禁用约束.您可能希望暂时禁用约束,然后稍后启用约束,而不是从数据库中永久删除约束.

完整性约束

完整性约束用于确保关系数据库中数据的准确性和一致性.通过参照完整性的概念在关系数据库中处理数据完整性.

参照完整性(RI)中有许多类型的完整性约束 .这些约束包括主键,外键,唯一约束和上面提到的其他约束.