- 很高兴您打开了本篇博客
- 主要作用:通过学习和复习,整理mysql笔记,为前端/后端/大数据项目铺设基石;
一,数据库概叙,与MySql的环境图文安装步骤_nosql-优快云博客
三,MYSQL-数据库定义语言 DDL(Data Definition Language)-优快云博客
- 本篇文档是sql专栏的第四篇
- 主要内容:MYSQL-数据库表关系与约束,主键约束(primary key),外键约束(foreign key),非空约束(not null),唯一约束(unique),默认约束(default)
- 学习:知识的初次邂逅
- 复习:知识的温故知新
目录
4,自关联关系(self-to-self)(Self-Referencing)
一,概述
MySQL中的约束是对表中的数据进行的限制条件,用于保证表中数据的准确性和可靠性。这些约束可以在创建表时定义,也可以在表创建后通过ALTER TABLE语句添加或删除。MySQL支持多种类型的约束,以满足不同的数据完整性和业务规则需求。
二,特性
- 多样性:MySQL支持多种类型的约束,包括非空约束(NOT NULL)、唯一约束(UNIQUE)、主键约束(PRIMARY KEY)、外键约束(FOREIGN KEY)等,以满足不同的数据完整性要求。
- 自动性:某些约束(如自增主键约束AUTO_INCREMENT)可以自动地管理数据,如自动生成唯一的标识符。
- 强制性:一旦在表上定义了约束,任何违反这些约束的数据插入或更新操作都将被拒绝,从而保证了数据的准确性和完整性。
- 灵活性:约束可以在创建表时定义,也可以在表创建后通过ALTER TABLE语句进行修改或删除,提供了很大的灵活性。
三,作用
- 保证数据的正确性:通过定义约束,可以确保表中存储的数据符合特定的规则,如非空约束确保字段必须有值,唯一约束确保字段值不重复等。
- 维护数据的完整性:外键约束通过引用另一个表的主键来维护表之间的数据关系,确保数据的参照完整性。当主表中的数据被更新或删除时,可以通过级联操作自动更新或删除从表中的相关数据。
- 提高数据查询效率:通过创建索引(虽然索引本身不是约束,但经常与约束一起使用),可以加快数据的检索速度,提高查询效率。
- 减少数据冗余:通过合理的约束设计,可以减少数据冗余,提高数据的一致性和可维护性。例如,通过外键约束将相关信息存储在多个表中,并在需要时通过连接查询来获取完整的数据集。
常见的MySQL约束类型
约束类型 | 关键字 | 描述 |
---|---|---|
非空约束 | NOT NULL | 确保列不能有NULL值 |
唯一约束 |