第1篇 基础知识篇
第1章 MySQL概述 2 视频讲解:4节,22分钟
1.1 了解MySQL 3
1.1.1 MySQL数据库的概念 3
1.1.2 MySQL的发展史 3
1.1.3 MySQL的优势 3
1.2 MySQL特性 3
1.3 MySQL的应用环境 5
1.4 MySQL服务器的安装和配置 5
1.4.1 MySQL服务器下载 5
1.4.2 MySQL服务器安装 7
1.4.3 启动、连接、断开和停止MySQL服务器 14
1.4.4 打开MySQL 8.0 Command Line Client 17
本章知识思维导图 18
第2章 MySQL Workbench图形化管理工具 19
2.1 MySQL Workbench图形化管理工具概述 20
2.2 MySQL Workbench安装 20
2.3 创建数据库和数据表 20
2.3.1 创建数据库 20
2.3.2 创建数据表 22
2.4 添加数据 23
2.5 数据的导出和导入 24
2.5.1 数据的导出 24
2.5.2 数据的导入 25
本章知识思维导图 26
第3章 MySQL语言基础 27 视频讲解:3节,45分钟
3.1 数据类型 28
3.1.1 数字类型 28
3.1.2 字符串类型 28
3.1.3 日期和时间数据类型 30
3.2 运算符 30
3.2.1 算术运算符 30
3.2.2 比较运算符 31
3.2.3 逻辑运算符 34
3.2.4 位运算符 36
3.2.5 运算符的优先级 37
3.3 流程控制语句 37
3.3.1 IF语句 37
3.3.2 CASE语句 38
3.3.3 WHILE循环语句 39
3.3.4 LOOP循环语句 40
3.3.5 REPEAT循环语句 41
本章知识思维导图 43
第4章 数据库和数据表操作 44 视频讲解:12节,78分钟
4.1 数据库操作 45
4.1.1 创建数据库 45
4.1.2 查看数据库 45
4.1.3 选择数据库 46
4.1.4 删除数据库 46
4.2 数据表操作 46
4.2.1 创建数据表 46
4.2.2 查看表结构 47
4.2.3 修改表结构 48
4.2.4 重命名表 49
4.2.5 删除数据表 50
4.3 语句操作 50
4.3.1 插入记录 50
4.3.2 查询数据库记录 51
4.3.3 修改记录 55
4.3.4 删除记录 56
本章知识思维导图 56
第5章 数据查询 57 视频讲解:8节,73分钟
5.1 基本查询语句 58
5.2 单表查询 59
5.2.1 查询所有字段 59
5.2.2 查询指定字段 59
5.2.3 查询指定数据 60
5.2.4 带IN关键字的查询 60
5.2.5 带BETWEEN AND的范围查询 61
5.2.6 带LIKE的字符匹配查询 62
5.2.7 用IS NULL关键字查询空值 62
5.2.8 带AND的多条件查询 63
5.2.9 带OR的多条件查询 63
5.2.10 用DISTINCT关键字去除结果中的重复行 64
5.2.11 用ORDEBY关键字对查询结果排序 64
5.2.12 用GROUP BY关键字分组查询 64
5.2.13 用LIMIT限制查询结果的数量 66
5.3 使用聚合函数查询 66
5.3.1 COUNT()函数 67
5.3.2 SUM()函数 67
5.3.3 AVG()函数 67
5.3.4 MAX()函数 68
5.3.5 MIN()函数 68
5.4 连接查询 69
5.4.1 内连接查询 69
5.4.2 外连接查询 70
5.4.3 复合条件连接查询 71
5.5 子查询 71
5.5.1 带IN关键字的子查询 72
5.5.2 带比较运算符的子查询 73
5.5.3 带EXISTS关键字的子查询 73
5.5.4 带ANY关键字的子查询 74
5.5.5 带ALL关键字的子查询 75
5.6 合并查询结果 76
5.7 定义表和字段的别名 77
5.7.1 为表取别名 77
5.7.2 为字段取别名 77
5.8 使用正则表达式查询 78
5.8.1 匹配指定字符中的任意一个 79
5.8.2 使用“*”和“ ”来匹配多个字符 79
本章知识思维导图 80
第6章 MySQL函数 81 视频讲解:7节,34分钟
6.1 MySQL函数概述 82
6.2 数学函数 82
6.2.1 ABS(x)函数 83
6.2.2 FLOOR(x)函数 83
6.2.3 RAND()函数 83
6.2.4 PI()函数 84
6.2.5 TRUNCATE(x,y)函数 84
6.2.6 ROUND(x)函数和ROUND(x,y)函数 84
6.2.7 SQRT(x)函数 85
6.3 字符串函数 85
6.3.1 INSERT(s1,x,len,s2)函数 86
6.3.2 UPPER(s),UCASE(s)函数 86
6.3.3 LEFT(s,n)函数 87
6.3.4 RTRIM(s)函数 87
6.3.5 SUBSTRING(s,n,len)函数 87
6.3.6 REVERSE(s)函数 87
6.3.7 FIELD(s,s1,s2,...)函数 88
6.4 日期和时间函数 88
6.4.1 CURDATE()函数和CURRENT_DATE()函数 89
6.4.2 CURTIME()函数和CURRENT_TIME()函数 89
6.4.3 NOW()函数 90
6.4.4 DATEDIFF(d1,d2)函数 90
6.4.5 ADDDATE(d,n)函数 90
6.4.6 ADDDATE(d,INTERVAL exp type)函数 91
6.4.7 SUBDATE(d,n)函数 91
6.5 条件判断函数 91
6.6 系统信息函数 92
6.7 加密函数 93
6.8 其他函数 93
本章知识思维导图 94
第2篇 高级应用篇
第7章 索引 96 视频讲解:3节,21分钟
7.1 索引概述 97
7.1.1 MySQL索引概述 97
7.1.2 MySQL索引分类 97
7.2 创建索引 98
7.2.1 在建立数据表时创建索引 98
7.2.2 在已建立的数据表中创建索引 102
7.2.3 修改数据表结构添加索引 106
7.3 删除索引 107
本章知识思维导图 108
第8章 视图 109 视频讲解:3节,27分钟
8.1 视图概述 110
8.1.1 视图的概念 110
8.1.2 视图的作用 110
8.2 创建视图 111
8.2.1 查看创建视图的权限 111
8.2.2 创建视图 111
8.2.3 创建视图的注意事项 112
8.3 管理视图 113
8.3.1 查看视图 113
8.3.2 修改视图 114
8.3.3 更新视图 116
8.3.4 删除视图 118
本章知识思维导图 119
第9章 数据完整性约束 120 视频讲解:5节,29分钟
9.1 定义完整性约束 121
9.1.1 实体完整性 121
9.1.2 参照完整性 123
9.1.3 用户定义的完整性 126
9.2 命名完整性约束 127
9.3 更新完整性约束 128
9.3.1 删除完整性约束 129
9.3.2 修改完整性约束 129
本章知识思维导图 130
第10章 存储过程与存储函数 131 视频讲解:8节,42分钟
10.1 创建存储过程和存储函数 132
10.1.1 创建存储过程 132
10.1.2 创建存储函数 133
10.1.3 变量的应用 134
10.1.4 光标的运用 137
10.2 存储过程和存储函数的调用 138
10.2.1 调用存储过程 138
10.2.2 调用存储函数 138
10.3 查看存储过程和存储函数 139
10.3.1 SHOW STATUS语句 139
10.3.2 SHOW CREATE语句 139
10.4 修改存储过程和存储函数 140
10.5 删除存储过程和存储函数 141
本章知识思维导图 142
第11章 触发器 143 视频讲解:4节,25分钟
11.1 创建触发器 144
11.1.1 创建单个执行语句的触发器 144
11.1.2 创建具有多个执行语句的触发器 145
11.2 查看触发器 146
11.2.1 SHOW TRIGGERS 146
11.2.2 查看 triggers表中触发器信息 147
11.3 执行触发器 147
11.4 删除触发器 148
本章知识思维导图 150
第12章 事件 151 视频讲解:4节,18分钟
12.1 事件概述 152
12.1.1 查看事件是否开启 152
12.1.2 开启事件 153
12.2 创建事件 153
12.3 修改事件 155
12.4 删除事件 157
本章知识思维导图 158
第3篇 系统管理篇
第13章 数据的备份与恢复 160 视频讲解:4节,43分钟
13.1 数据备份 161
13.1.1 使用mysqldump命令备份 161
13.1.2 直接复制整个数据库目录 163
13.1.3 使用mysqlhotcopy工具快速备份 163
13.2 数据恢复 164
13.2.1 使用mysql命令还原数据 164
13.2.2 直接复制到数据库目录 164
13.3 数据库迁移 165
13.3.1 相同版本的MySQL数据库之间的迁移 165
13.3.2 不同数据库之间的迁移 166
13.4 表的导出和导入 166
13.4.1 用SELECT ...INTO OUTFILE导出文本文件 166
13.4.2 用mysqldump命令导出文本文件 167
13.4.3 用mysql命令导出文本文件 168
本章知识思维导图 169
第14章 性能优化 170 视频讲解:5节,30分钟
14.1 优化概述 171
14.2 优化查询 171
14.2.1 分析查询语句 172
14.2.2 索引对查询速度的影响 173
14.2.3 使用索引查询 174
14.3 优化数据库结构 175
14.3.1 将字段很多的表分解成多个表 175
14.3.2 增加中间表 176
14.3.3 优化插入记录的速度 177
14.3.4 分析表、检查表和优化表 178
14.4 查询高速缓存 179
14.4.1 检验高速缓存是否开启 179
14.4.2 使用高速缓存 180
14.5 优化多表查询 180
14.6 优化表设计 182
本章知识思维导图 183
第15章 安全管理 184 视频讲解:4节,29分钟
15.1 安全保护策略概述 185
15.2 用户和权限管理 185
15.2.1 使用CREATE USER命令创建用户 186
15.2.2 使用DROP USER命令删除用户 186
15.2.3 使用RENAME USER命令重命名用户 186
15.2.4 GRANT和REVOKE命令 187
15.3 MySQL数据库安全常见问题 189
15.3.1 权限更改何时生效 189
15.3.2 设置账户密码 189
15.3.3 使密码更安全 190
15.4 状态文件和日志文件 190
15.4.1 进程ID文件 191
15.4.2 日志文件管理 191
本章知识思维导图 199
第16章 MySQL系统管理 200
16.1 MySQL系统管理及安全问题 201
16.1.1 管理职责概述 201
16.1.2 日常管理 202
16.1.3 安全问题 203
16.1.4 数据库修复和维护 203
16.2 数据目录 204
16.2.1 数据目录的位置 204
16.2.2 数据目录的结构 206
16.3 MySQL服务器如何提供对数据的访问 206
16.4 MySQL数据库/数据表在文件系统里的表示 207
16.4.1 MySQL数据库在文件系统里的表示 207
16.4.2 MySQL数据表在文件系统里的表示 208
16.5 SQL语句如何映射为数据表文件操作 209
16.5.1 创建数据表 209
16.5.2 更新数据表 209
16.5.3 删除数据表 210
16.6 操作系统对数据库和数据表命名的限制 210
16.7 MySQL状态文件和日志文件 211
本章知识思维导图 214
第4篇 项目实战篇
第17章 基于Java MySQL的看店宝(京东版) 216
17.1 需求分析 217
17.2 系统设计 217
17.2.1 系统目标 217
17.2.2 构建开发环境 217
17.2.3 系统功能结构 217
17.2.4 业务流程图 218
17.2.5 系统预览 219
17.3 数据库设计 222
17.3.1 数据库概要说明 222
17.3.2 数据库E/R图分析 222
17.3.3 数据表结构 223
17.4 技术准备 224
17.4.1 Servlet 3.0服务 224
17.4.2 Jsoup爬虫 226
17.5 数据模型设计 228
17.5.1 模块概述 228
17.5.2 代码实现 229
17.6 持久层接口设计 231
17.6.1 模块概述 231
17.6.2 代码实现 231
17.7 爬虫服务设计 231
17.7.1 模块概述 231
17.7.2 代码实现 231
17.8 数据加工处理服务设计 237
17.8.1 模块概述 237
17.8.2 代码实现 237
17.9 运行项目 243
本章知识思维导图 248
第18章 基于Python MySQL的智慧校园考试系统 249
18.1 需求分析 250
18.2 系统功能设计 250
18.2.1 系统功能结构 250
18.2.2 系统业务流程 250
18.2.3 系统预览 251
18.3 系统开发必备 252
18.3.1 系统开发环境 252
18.3.2 文件夹组织结构 252
18.4 数据库设计 253
18.4.1 数据库概要说明 253
18.4.2 数据表模型 254
18.5 用户登录模块设计 256
18.5.1 用户登录模块概述 256
18.5.2 使用Django默认授权机制实现普通登录 256
18.5.3 机构注册功能的实现 263
18.6 核心答题功能的设计 268
18.6.1 答题首页设计 268
18.6.2 考试详情页面 270
18.6.3 答题功能的实现 272
18.6.4 提交答案 276
18.6.5 批量录入题库 278
本章知识思维导图 284