MySQL是目前流行的采用客户端/服务器模式的关系数据库之一。本书利用大量案例深入浅出地介绍了MySQL数据库的基础知识。本书共9个单元,分别为MySQL概述、MySQL数据类型、MySQL常用操作、MySQL查询、MySQL函数和存储过程、MySQL高级特性、索引、综合案例——图书管理系统、MySQL管理。本书实战案例丰富、内容全面,配套慕课课程。
本书适合作为高校MySQL数据库应用相关课程的教材,也可供MySQL爱好者参考使用。
1.讲解视频、ppt等可供读者自由学习
2.图文配合讲解浅显易懂,代码注释详细
3.一线程序员编写
4.配套资源丰富,满足教师、学生的实际需求
5.改版教材,增加思维导图等实用模块
洪晓芳,山东劳动职业技术学院电气及自动化系副教授、博士、山东省技术能手。具有电工高级技师职业资格,是山东省高等学校“青创科技计划”智能控制及应用创新团队带头人、国家级大师工作室核心成员、齐鲁技能大师特色工作站核心成员。
目录
第 1单元
MySQL概述1
【学习导读】1
【学习目标】1
【思维导图】2
1.1 数据库发展历史2
1.1.1 数据库发展阶段2
1.1.2 MySQL数据库发展历史3
1.2 关系数据库4
1.2.1 数据库概述4
1.2.2 关系模型7
1.2.3 常用的关系数据库8
1.2.4 SQL8
1.3 MySQL的工作原理9
1.4 MySQL数据库存储引擎10
1.4.1 InnoDB引擎11
1.4.2 MyISAM引擎11
1.4.3 MEMORY引擎12
1.4.4 CSV引擎12
1.4.5 ARCHIVE引擎12
1.4.6 BLACKHOLE引擎12
1.4.7 存储引擎特点对比12
1.5 综合实训:安装MySQL数据库13
1.5.1 在Windows环境下安装
MySQL14
1.5.2 在Linux环境下安装
MySQL16
1.6 MySQL客户端管理工具17
1.7 小结20
1.8 习题20
第 2单元
MySQL数据类型22
【学习导读】22
【学习目标】22
【思维导图】23
2.1 数值类型23
2.2 字符串类型24
2.3 日期和时间类型25
2.4 复合类型26
2.5 JSON数据类型26
2.6 空间数据类型27
2.7 如何选取数据类型28
2.8 综合实训:设计电商平台
商品表29
2.9 小结29
2.10 习题30
第3单元
MySQL常用操作31
【学习导读】31
【学习目标】31
【思维导图】32
3.1 数据库用户管理32
3.1.1 连接MySQL32
3.1.2 新增用户33
3.1.3 修改用户密码34
3.2 数据库操作35
3.2.1 查看数据库35
3.2.2 创建数据库35
3.2.3 使用数据库36
3.2.4 删除数据库36
3.3 表操作37
3.3.1 创建表37
3.3.2 查看表结构38
3.3.3 修改表结构38
3.3.4 复制表39
3.3.5 使用临时表和内存表43
3.4 数据操作44
3.4.1 插入和查询数据44
3.4.2 修改数据47
3.4.3 删除数据48
3.4.4 对查询结果进行排序49
3.4.5 对查询结果进行分组51
3.4.6 设置分组条件54
3.4.7 限制查询数量56
3.5 字段操作57
3.5.1 设置为主键57
3.5.2 设置为复合主键59
3.5.3 添加/删除字段60
3.5.4 改变字段类型61
3.5.5 字段重命名61
3.5.6 为字段设置默认值62
3.5.7 设置自增字段64
3.6 客户端操作数据库70
3.7 综合实训:设计电商平台
订单表72
3.8 小结74
3.9 习题74
第4单元
MySQL查询75
【学习导读】75
【学习目标】75
【思维导图】76
4.1 基本查询语法76
4.2 数据过滤80
4.2.1 基本查询过滤81
4.2.2 条件查询过滤82
4.2.3 模糊查询过滤85
4.2.4 字段控制查询过滤88
4.2.5 正则表达式查询过滤90
4.3 子查询94
4.3.1 什么是子查询94
4.3.2 按返回结果进行分类的
子查询95
4.3.3 按对返回结果的调用方法
进行分类的子查询98
4.4 聚合函数103
4.4.1 AVG()函数103
4.4.2 COUNT()函数104
4.4.3 MAX()/MIN()函数105
4.4.4 SUM()函数107
4.4.5 窗口函数108
4.5 高级查询112
4.5.1 内连接查询112
4.5.2 外连接查询116
4.5.3 自然连接查询119
4.5.4 交叉连接查询121
4.5.5 联合查询123
4.6 综合实训:设计电商平台查询125
4.7 小结128
4.8 习题128
第5单元
MySQL函数和存储过程130
【学习导读】130
【学习目标】130
【思维导图】131
5.1 MySQL流程控制函数131
5.2 MySQL常用函数135
5.2.1 数学函数136
5.2.2 字符串函数138
5.2.3 日期和时间函数141
5.2.4 系统信息函数145
5.2.5 加密函数147
5.2.6 格式化函数149
5.3 自定义函数151
5.3.1 函数的基本语法151
5.3.2 创建不带参数的自定义
函数153
5.3.3 创建带参数的自定义
函数154
5.4 存储过程155
5.4.1 存储过程的基本语法155
5.4.2 创建不带参数的存储
过程157
5.4.3 创建带有IN类型参数的
存储过程159
5.4.4 创建带有IN和OUT类型
参数的存储过程161
5.4.5 创建带有多个OUT类型
参数的存储过程163
5.4.6 创建带有INOUT类型
参数的存储过程164
5.4.7 创建带有IF语句的存储
过程166
5.4.8 创建带有CASE语句的
存储过程167
5.4.9 创建带有WHILE循环的
存储过程169
5.5 自定义函数和存储过程170
5.5.1 自定义函数和存储过程的
区别170
5.5.2 存储过程的使用建议171
5.6 综合实训:设计电商平台函数和
存储过程171
5.7 小结173
5.8 习题173
第6单元
MySQL高级特性175
【学习导读】175
【学习目标】175
【思维导图】176
6.1 视图176
6.1.1 什么是视图176
6.1.2 创建视图176
6.1.3 修改视图180
6.1.4 更新视图数据183
6.1.5 删除视图和数据186
6.2 游标188
6.2.1 游标的使用方法188
6.2.2 游标的WHILE循环191
6.2.3 游标的REPEAT循环195
6.2.4 游标的LOOP循环196
6.3 触发器198
6.3.1 创建触发器198
6.3.2 NEW和OLD关键字201
6.3.3 查看和删除触发器203
6.3.4 INSERT型触发器203
6.3.5 UPDATE型触发器205
6.3.6 DELETE型触发器208
6.4 综合实训:电商平台视图、游标、
触发器的应用209
6.5 小结211
6.6 习题211
第7单元
索引213
【学习导读】213
【学习目标】213
【思维导图】214
7.1 索引的基本语法214
7.1.1 创建索引214
7.1.2 查看索引216
7.1.3 删除索引217
7.2 常见的查找算法219
7.3 索引的数据结构220
7.3.1 B-Tree数据结构220
7.3.2 B+Tree数据结构221
7.4 索引实现原理222
7.4.1 MyISAM引擎的
索引实现222
7.4.2 InnoDB引擎的
索引实现223
7.4.3 MEMORY引擎的
索引实现224
7.5 索引的应用224
7.5.1 创建表及添加索引225
7.5.2 使用EXPLAIN语句分析
索引227
7.5.3 索引使用策略241
7.5.4 索引应用实例245
7.6 索引的类型254
7.6.1 主键索引254
7.6.2 普通索引255
7.6.3 唯一索引256
7.6.4 单列索引和联合索引257
7.6.5 聚簇索引和非聚簇索引257
7.6.6 覆盖索引258
7.6.7 重复索引和冗余索引259
7.6.8 降序索引259
7.6.9 隐藏索引262
7.6.10 函数索引262
7.7 索引不能使用的场景263
7.7.1 前导模糊查询263
7.7.2 比较不匹配的数据
类型264
7.7.3 使用OR连接条件
表达式265
7.7.4 条件表达式与函数267
7.8 索引的利弊及创建原则269
7.9 综合实训:电商平台查询索引
应用269
7.10 小结274
7.11 习题274
第8单元
综合案例——图书管理
系统276
【学习导读】276
【学习目标】276
【思维导图】277
8.1 需求管理277
8.2 数据库设计278
8.3 创建数据库280
8.3.1 建表语句280
8.3.2 初始化数据282
8.4 用户信息管理283
8.4.1 用户管理284
8.4.2 部门管理285
8.5 图书管理285
8.5.1 新增图书分类285
8.5.2 新增图书286
8.6 借书管理287
8.6.1 借书预约管理288
8.6.2 借书登记管理290
8.6.3 还书登记管理292
8.6.4 图书遗失登记管理295
8.7 视图管理296
8.7.1 用户信息查询视图296
8.7.2 用户借阅图书查询视图296
8.7.3 用户还书查询视图297
8.8 小结297
8.9 习题297
第9单元
MySQL管理299
【学习导读】299
【学习目标】299
【思维导图】300
9.1 用户管理300
9.1.1 创建用户300
9.1.2 修改用户301
9.1.3 删除用户303
9.2 权限管理305
9.2.1 授予和撤销权限305
9.2.2 用户权限体系309
9.2.3 权限授予原则309
9.3 表空间管理312
9.4 备份与还原314
9.4.1 备份数据库314
9.4.2 还原数据库315
9.5 主从同步配置316
9.5.1 主数据库配置316
9.5.2 从数据库配置317
9.6 综合实训:电商平台数据库
管理318
9.7 小结319
9.8 习题320