SQL约束简介
关于 SQL 约束,我们已经在《RDBMS是什么》中进行了简要介绍,但是现在我们有必要再温习一下,并稍加深入。
约束(Constraint)是指表的数据列必须强行遵守的规则,这些规则用于限制插入表中的数据类型,这样能够确保每份数据的准确定和可靠性。
约束可以是列级别,也可以是表级别;列级约束仅作用于某一列,而表级约束则作用于整张表。
下面是 SQL 常用的一些约束:
ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK;
有些数据库对 SQL 进行了扩展,额外提供了一些关键字用来删除某些特定的约束。例如,Oracle 可以使用 DROP PRIMARY KEY 关键字删除主键约束:
ALTER TABLE EMPLOYEES DROP PRIMARY KEY;
有些数据库也允许暂时禁用约束。也就是说,您无需从数据库中永久删除约束,只需要将它暂时禁用,以后再重新启用即可。
约束(Constraint)是指表的数据列必须强行遵守的规则,这些规则用于限制插入表中的数据类型,这样能够确保每份数据的准确定和可靠性。
约束可以是列级别,也可以是表级别;列级约束仅作用于某一列,而表级约束则作用于整张表。
下面是 SQL 常用的一些约束:
约束 | 说明 |
---|---|
NOT NULL | 非空约束,确保列中不能有 NULL 值。 |
DEFAULT | 默认约束,如果未指定值,那么列将提供默认值。 |
UNIQUE | 唯一约束,确保列中所有的值都不相同。 |
PRIMARY Key | 主键,用来唯一标识数据库中的每一行/记录。 |
FOREIGN Key | 外键,用来唯一标识任何其它数据库中表的行/记录。 |
CHECK | 检查性约束,用于确保列中的所有值都必须满足某些条件。 |
INDEX | 索引,用于快速从数据库中检索或者获取数据。 |
创建约束
在创建数据表时,可以使用 CREATE TABLE 语句指定约束规则;创建数据表以后,也可以使用 ALTER TABLE 语句来增加约束规则。删除约束
可以使用带有 DROP CONSTRAINT 选项的 ALTER TABLE 语句来删除已经定义的约束。例如,删除 EMPLOYEES 表中的主键可以使用下面的语句:ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK;
有些数据库对 SQL 进行了扩展,额外提供了一些关键字用来删除某些特定的约束。例如,Oracle 可以使用 DROP PRIMARY KEY 关键字删除主键约束:
ALTER TABLE EMPLOYEES DROP PRIMARY KEY;
有些数据库也允许暂时禁用约束。也就是说,您无需从数据库中永久删除约束,只需要将它暂时禁用,以后再重新启用即可。