24. SQL--约束简介
1.前言
关于 sql 约束,我们已经在《rdbms是什么》中进行了简要介绍,但是现在我们有必要再温习一下,并稍加深入。
约束(constraint)是指表的数据列必须强行遵守的规则,这些规则用于限制插入表中的数据类型,这样能够确保每份数据的准确定和可靠性。
约束可以是列级别,也可以是表级别;列级约束仅作用于某一列,而表级约束则作用于整张表。
下面是 SQL 常用的一些约束:
约束 | 说明 |
---|---|
NOT NULL | 非空约束,确保列中不能有 NULL 值。 |
DEFAULT | 默认约束,如果未指定值,那么列将提供默认值。 |
UNIQUE | 唯一约束,确保列中所有的值都不相同。 |
PRIMARY Key | 主键,用来唯一标识数据库中的每一行/记录。 |
FOREIGN Key | 外键,用来唯一标识任何其它数据库中表的行/记录。 |
CHECK | 检查性约束,用于确保列中的所有值都必须满足某些条件。 |
INDEX | 索引,用于快速从数据库中检索或者获取数据。 |
2. 创建约束
在创建数据表时,可以使用 create table 语句指定约束规则;创建数据表以后,也可以使用 alter table 语句来增加约束规则。
3. 删除约束
可以使用带有 drop constraint 选项的 alter table 语句来删除已经定义的约束。例如,删除 employees 表中的主键可以使用下面的语句:
alter table employees drop constraint employees_pk;
有些数据库对 sql 进行了扩展,额外提供了一些关键字用来删除某些特定的约束。例如,oracle 可以使用 drop primary key 关键字删除主键约束:
alter table employees drop primary key;
有些数据库也允许暂时禁用约束。也就是说,您无需从数据库中永久删除约束,只需要将它暂时禁用,以后再重新启用即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!