MySQL基础教程:DDL语言、约束与事务
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语言和视图则提供了高效的数据操作和管理手段。
2021-02-05 上传
2024-05-04 上传
2024-05-04 上传
2024-05-04 上传
2021-02-05 上传
2021-03-10 上传
2022-12-23 上传
2021-11-29 上传
2014-12-08 上传
weixin_38735804
- 粉丝: 5
- 资源: 966
最新资源
- BeatTheBotChallenge:来挑战这个玩摩托赛车电话游戏的机器人,看看它是如何制造的,并帮助改进它!
- GetHtmlTool:Qt初步获取网页原始码
- StudentClass,java怎么看源码,javap2p网贷源码下载
- 宠物播种机
- zeromq-4.2.0.tar.zip
- nginx-http-concat:WordPress插件可将单个脚本文件CSS和Javascript连接成一个资源请求
- 高级JSON表单规范第2章:输入小部件
- angularjs-studies
- city-generator:C ++ City Generator
- SocketProject:SocketProject
- crawl_html:python网络爬虫-爬网页原始码
- 手写 Volley 网络访问框架
- living-with-django:关于容忍最臃肿的python web框架的博客
- RestaurantsAppWithCollectionViews
- SkeSubDomain:利用递归归,通过匹配网页源码里的子域内容收集所有的子域信息,可收集四级五级等多级子域名
- portfolio:我的投资组合网站,其中包含我的所有工作