SQL专栏

SQL数据库基础知识汇总

SQL数据库高级知识汇总

约束的作用

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

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

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

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

  • 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)以及上面提到的其他约束。

批注

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

©著作权归作者所有:来自51CTO博客作者mb5fd8698f60f87的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. SQL基础知识V2——约束(实例)
  2. [灾备]备份类型
  3. [灾备]数据库容灾方式
  4. Kubernetes中部署MySQL高可用集群
  5. [灾备] 数据去重技术
  6. 美团优选大数据开发岗面试真题-附答案详细解析
  7. 小技巧 | 如何在SQL Server中快速创建测试数据?
  8. SQL高级知识V2——触发器
  9. 3.14 为vCenter Server服务器添加外部DSN连接

随机推荐

  1. Android Power Management
  2. Android 的相关文件类型
  3. 实战 QQ demo (学习 android 先来个QQ)
  4. Android(安卓)P系统修改状态栏记录
  5. Android中的WebView详解
  6. Visual Studio跨平台开发实战(4) - Xamar
  7. Android——textView
  8. Android系统编译系统分析大全(一)
  9. Unity调用Android配置方法
  10. System.out.println()和Log耗时之比