1、约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。本节实验将在实践操作中熟悉 MySQL 中的几种约束。
约束分类:
2、删除数据库语句为DROP DATABASE mysql_shiyan,删除了上一节的数据库之后,然后给数据库的表新建约束
2.1 主键
主键 (PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要。主键不能有重复且不能为空。
还有一种特殊的主键——复合主键。主键不仅可以是表中的一列,也可以由表中的两列或多列来共同标识,比如:
2.2默认值约束
默认值约束 (DEFAULT) 规定,当有 DEFAULT 约束的列,插入数据为空时,将使用默认值。
2.3 唯一约束
唯一约束 (UNIQUE) 比较简单,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。
比如一个订单重复或者并发点击了两次,这时候如果数据库对订单号做了唯一约束,那么点击提交是不成功的。
2.4 外键约束
这个没有实际使用场景,暂不写,有了再补充。
首先是外键的定义
如果一个字段X在一张表(表一)中是主关键字,而在另外一张表(表二)中不是主关键字,则字段X称为表二的外键;
2.5 非空约束
非空约束 (NOT NULL),听名字就能理解,被非空约束的列,在插入值时必须非空。
实验总结:
在MySQL中违反非空约束,不会报错,只会有警告。
本节实验中通过一个数据库实例了解了主键、默认值、外键、非空、唯一这几种约束的特性,这几种约束都是最常见的,需要仔细理解每种约束的含义及使用场景。下一节我们将进入 SELECT 语句的学习。