第三节基础篇—SQL的约束

时间:2023-03-09 18:41:56
第三节基础篇—SQL的约束

1、约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。本节实验将在实践操作中熟悉 MySQL 中的几种约束。

约束分类:

第三节基础篇—SQL的约束第三节基础篇—SQL的约束

2、删除数据库语句为DROP DATABASE mysql_shiyan,删除了上一节的数据库之后,然后给数据库的表新建约束

2.1 主键

主键 (PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要。主键不能有重复且不能为空。

第三节基础篇—SQL的约束

第三节基础篇—SQL的约束

还有一种特殊的主键——复合主键。主键不仅可以是表中的一列,也可以由表中的两列或多列来共同标识,比如:

第三节基础篇—SQL的约束

2.2默认值约束

默认值约束 (DEFAULT) 规定,当有 DEFAULT 约束的列,插入数据为空时,将使用默认值。

第三节基础篇—SQL的约束

第三节基础篇—SQL的约束

2.3 唯一约束

唯一约束 (UNIQUE) 比较简单,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。

比如一个订单重复或者并发点击了两次,这时候如果数据库对订单号做了唯一约束,那么点击提交是不成功的。

第三节基础篇—SQL的约束

2.4 外键约束

这个没有实际使用场景,暂不写,有了再补充。

首先是外键的定义

如果一个字段X在一张表(表一)中是主关键字,而在另外一张表(表二)中不是主关键字,则字段X称为表二的外键;

第三节基础篇—SQL的约束

2.5 非空约束

非空约束 (NOT NULL),听名字就能理解,被非空约束的列,在插入值时必须非空。

第三节基础篇—SQL的约束

实验总结:

在MySQL中违反非空约束,不会报错,只会有警告。

本节实验中通过一个数据库实例了解了主键、默认值、外键、非空、唯一这几种约束的特性,这几种约束都是最常见的,需要仔细理解每种约束的含义及使用场景。下一节我们将进入 SELECT 语句的学习。