MySQL基础教程:DDL语言、约束与事务

0 下载量 128 浏览量 更新于2024-08-30 收藏 90KB PDF 举报
"这篇文章是关于MySQL基础知识的教程,主要涵盖了第五天的学习内容,包括DDL语言的继续讲解,尤其是数据约束的定义和分类,如非空、默认、主键、唯一、外键等。同时提到了TCL语言和事务以及视图的概念。在约束部分,详细解释了各种约束的作用和用法,以及在MySQL中添加约束的时机和方式,区分了列级约束和表级约束。还特别强调了外键约束的设置规则和使用注意事项。" 在MySQL数据库管理系统中,DDL(Data Definition Language)语言用于定义数据结构,如创建、修改和删除表格。在Day5的学习中,重点讨论了DDL中的数据约束,这些约束是为了确保数据的完整性和一致性。 1. 数据约束: - NOT NULL:这是最基本的约束,确保字段的值不能为空,适用于像姓名、学号这样的关键信息。 - DEFAULT:为字段提供一个默认值,如性别等可预设的选项。 - PRIMARY KEY:主键约束确保字段的值是唯一的并且非空,通常用于唯一标识记录,如学号或员工ID。 - UNIQUE:唯一约束同样保证字段值的唯一性,但允许为空,如座位号。 - CHECK:检查约束用于验证字段值是否符合特定条件,但在MySQL中不被支持。 - FOREIGN KEY:外键约束用于建立两个表之间的关系,保证引用的字段值必须存在于另一个表的关联列中,如学生表的专业编号引用主表专业表的编号。 2. 添加约束的时机: - 创建表时:可以直接定义约束。 - 修改表时:通过ALTER TABLE语句添加约束。 3. 约束的分类: - 列级约束:直接定义在列后,MySQL不支持在外键约束,但其他约束如非空、默认、主键、唯一都是支持的。 - 表级约束:定义在所有列之后,支持除非空和默认之外的所有约束,可以指定约束名。 4. 主键与唯一约束的区别: - 主键:确保唯一性,不允许为空,一个表只能有一个主键。 - 唯一:也确保唯一性,但允许为空,可以有多个唯一约束,但组合使用时需谨慎。 5. 外键约束: - 必须在从表中设置,与主表的关联列数据类型匹配。 - 主表的关联列必须是主键或唯一键。 - 插入数据时,先插入主表,后插入从表;删除数据时,先删除从表,后删除主表。 6. TCL(Transaction Control Language)语言: - 用于控制数据库事务的开始、提交、回滚等操作,确保数据的一致性。 7. 视图: - 视图是虚拟表,基于一个或多个查询结果,提供了一种简化数据访问的方式。 在学习和使用MySQL时,理解并熟练应用这些基本概念至关重要,它们构成了数据库设计和管理的基础。正确使用约束能确保数据的准确性和一致性,而TCL语言和视图则提供了高效的数据操作和管理手段。