第1篇 入 门 篇
第1章 了解MySQL 3
(视频讲解:4分钟)
1.1 什么是MySQL 4
1.1.1 MySQL的发展史 4
1.1.2 MySQL的特性 5
1.1.3 MySQL的管理软件 5
1.1.4 MySQL的应用环境 6
1.1.5 MySQL下载 6
1.2 本章小结 8
第2章 准备安装MySQL环境 9
(视频讲解:36分钟)
2.1 搭建MySQL开发环境 10
2.1.1 Windows下搭建MySQL环境 10
2.1.2 Linux下搭建MySQL环境 18
2.2 启动、停止、连接和断开 MySQL服务器 21
2.2.1 启动、停止MySQL服务器 21
2.2.2 连接、断开MySQL服务器 22
2.3 使用免安装的MySQL 25
2.4 phpMyAdmin图形化管理工具 27
2.4.1 管理数据库操作 27
2.4.2 管理数据表 29
2.4.3 管理数据记录 31
2.4.4 导入导出数据 34
2.4.5 phpMyAdmin设置编码格式 35
2.4.6 phpMyAdmin添加服务器新用户 37
2.4.7 phpMyAdmin中重置MySQL服务器登录密码 38
2.5 综合应用 39
2.5.1 启动、停止MySQL服务器 39
2.5.2 连接MySQL服务器 39
2.6 本章常见错误 40
2.6.1 忘记MySQL数据库的密码 40
2.6.2 mysql命令的结束处加了分号 40
2.6.3 与所导入的数据库同名的数据库不存在 40
2.7 本章小结 40
2.8 跟我上机 40
第3章MySQL数据类型与运算符 41
(视频讲解:26分钟)
3.1 MySQL数据类型 42
3.1.1 数字类型 42
3.1.2 字符串类型 43
3.1.3 日期和时间数据类型 44
3.2 MySQL运算符 45
3.3 算术运算符 46
3.4 比较运算符 47
3.5 逻辑运算符 51
3.6 位运算符 53
3.7 运算符的优先级 54
3.8 综合应用 54
3.8.1 位运算符的使用 54
3.8.2 逻辑运算符的使用 55
3.9 本章常见错误 55
3.9.1 使用逻辑运算符时漏写了一个“&”或“|” 55
3.9.2 MySQL数据库中存储路径不正确 56
3.10 本章小结 56
3.11 跟我上机 56
第4章MySQL存储引擎 57
(视频讲解:10分钟)
4.1 MySQL存储引擎 58
4.1.1 查询MySQL中支持的存储引擎 58
4.1.2 InnoDB存储引擎 59
4.1.3 MyISAM存储引擎 60
4.1.4 MEMORY存储引擎 61
4.1.5 如何选择存储引擎 62
4.1.6 设置数据表的存储引擎 63
4.2 综合应用 64
4.2.1 查看存储引擎 64
4.3 本章常见错误 65
4.3.1 修改默认存储引擎后没有生效 65
4.3.2 使用MEMORY存储引擎 65
4.4 本章小结 65
4.5 跟我上机 65
第5章MySQL基本操作 67
(视频讲解:38分钟)
5.1 MySQL数据库操作 68
5.1.1 创建数据库CREATEDATABASE 68
5.1.2 查看数据库SHOWDATABASES 68
5.1.3 选择数据库USEDATABASE 69
5.1.4 删除数据库DROPDATABASE 69
5.2 MySQL数据表操作 70
5.2.1 创建数据表CREATE TABLE 70
5.2.2 查看表结构DESCRIBE或SHOWCOLUMNS 71
5.2.3 修改表结构ALTER TABLE 72
5.2.4 重命名表RENAME TABLE 74
5.2.5 删除表DROP TABLE 74
5.3 MySQL语句操作 75
5.3.1 插入记录INSERT 75
5.3.2 查询数据库记录SELECT 76
5.3.3 修改记录UPDATE 79
5.3.4 删除记录DELETE 80
5.4 综合应用 81
5.4.1 操作teacher表 81
5.4.2 字段修改到指定位置 82
5.5 本章常见错误 82
5.5.1 执行修改和删除操作时未指定where条件语句 82
5.5.2 创建的数据库和已存在的数据库重名 82
5.6 本章小结 82
5.7 跟我上机 83
第6章MySQL数据查询 85
(视频讲解:50分钟)
6.1 基本查询语句 86
6.2 单表查询 87
6.2.1 查询所有字段 87
6.2.2 查询指定字段 88
6.2.3 查询指定数据 88
6.2.4 带IN关键字的查询 89
6.2.5 带BETWEEN AND的范围查询 90
6.2.6 带LIKE的字符匹配查询 90
6.2.7 带AND的多条件查询 91
6.2.8 带OR的多条件查询 92
6.2.9 用DISTINCT关键字去除结果中的重复行 92
6.2.10 用ORDER BY关键字对查询结果排序 93
6.2.11 用GROUP BY关键字分组查询 93
6.2.12 用LIMIT限制查询结果的数量 95
6.3 聚合函数查询 96
6.3.1 COUNT()函数 96
6.3.2 SUM()函数 97
6.3.3 AVG()函数 97
6.3.4 MAX()函数 98
6.3.5 MIN()函数 98
6.4 连接查询 99
6.4.1 内连接查询 99
6.4.2 外连接查询 100
6.4.3 复合条件连接查询 102
6.5 子查询 102
6.5.1 带IN关键字的子查询 102
6.5.2 带比较运算符的子查询 103
6.5.3 带EXISTS关键字的子查询 104
6.5.4 带ANY关键字的子查询 106
6.5.5 带ALL关键字的子查询 106
6.6 合并查询结果 107
6.7 定义表和字段的别名 109
6.7.1 为表取别名 109
6.7.2 为字段取别名 109
6.8 使用正则表达式查询 110
6.8.1 匹配指定字符中的任意一个 111
6.8.2 使用“*”和“ ”来匹配多个字符 112
6.9 综合应用 113
6.9.1 使用聚合函数SUM()对学生成绩进行汇总 113
6.9.2 查询大于指定条件的记录 114
6.10 本章常见错误 115
6.10.1 查询语句结束处未写分号 115
6.10.2 查询输出中文字符串时出现乱码 115
6.11 本章小结 115
6.12 跟我上机 116
第7章MySQL函数 117
(视频讲解:38分钟)
7.1 MySQL函数 118
7.2 数学函数 118
7.2.1 ABS(x)函数 119
7.2.2 RAND()函数 120
7.2.3 FLOOR(x)函数 120
7.2.4 PI()函数 121
7.2.5 TRUNCATE(x,y)函数 121
7.2.6 ROUND(x)函数和ROUND(x,y)函数 121
7.2.7 SQRT(x)函数 122
7.3 字符串函数 122
7.3.1 INSERT(s1,x,len,s2)函数 124
7.3.2 UPPER(s),UCASE(s)函数 124
7.3.3 LEFT(s,n)函数 124
7.3.4 RTRIM(s)函数 125
7.3.5 SUBSTRING(s,n,len)函数 125
7.3.6 REVERSE(s)函数 126
7.3.7 FIELD(s,s1,s2,…)函数 126
7.4 日期和时间函数 126
7.4.1 CURDATE()函数和CURRENT_DATE()函数 128
7.4.2 CURTIME()函数和CURRENT_TIME()函数 128
7.4.3 NOW()函数 129
7.4.4 DATEDIFF(d1,d2)函数 129
7.4.5 ADDDATE(d,n)函数 129
7.4.6 ADDDATE(d,INTERVAL expr type)函数 130
7.4.7 SUBDATE(d,n)函数 130
7.5 条件判断函数 131
7.6 系统信息函数 131
7.6.1 获取MySQL版本号、连接数和数据库名的函数 132
7.7 加密函数 133
7.7.1 加密函数PASSWORD(str) 133
7.8 其他函数 134
7.8.1 格式化函数FORMAT(x,n) 134
7.9 综合应用 135
7.9.1 不同进制的数字进行转换的函数 135
7.9.2 生成3个1~100之间的随机整数 136
7.10 本章常见错误 136
7.10.1 SUBSTRING(s,n,len)函数的第二个参数错误 136
7.10.2 日期和时间函数中的日期和时间未加引号 136
7.11 本章小结 137
7.12 跟我上机 137
第8章MySQL索引 139
(视频讲解:22分钟)
8.1 MySQL索引 140
8.1.1 什么是MySQL索引 140
8.1.2 MySQL索引分类 140
8.2 创建索引 141
8.2.1 在创建数据表时创建索引 141
8.2.2 在已存在的数据表中创建索引 146
8.2.3 修改数据表结构添加索引 150
8.3 删除索引 152
8.4 综合应用 153
8.4.1 用CREATE INDEX创建索引 153
8.4.2 使用ALTER TABLE语句创建全文索引 154
8.5 本章常见错误 154
8.5.1 建立全文索引时出现错误 154
8.5.2 创建索引时指定的索引字段不存在 155
8.6 本章小结 155
8.7 跟我上机 155
第9章MySQL视图 157
(视频讲解:20分钟)
9.1 MySQL视图 158
9.1.1 视图的概念 158
9.1.2 视图的作用 158
9.2 创建视图 159
9.2.1 查看用户是否具有创建视图的权限 159
9.2.2 创建视图 160
9.2.3 创建视图的注意事项 161
9.3 查看视图 161
9.4 修改视图 163
9.5 更新视图 165
9.6 删除视图 168
9.7 综合应用 169
9.7.1 在views表中查看视图详细信息 169
9.7.2 使用MySQL视图查询学生信息表 169
9.8 本章常见错误 171
9.8.1 创建视图的表不存在 171
9.8.2 视图不能更新 171
9.9 本章小结 171
9.10 跟我上机 172
第2篇 提 高 篇
第10章MySQL存储过程和函数 175
(视频讲解:32分钟)
10.1 存储过程和函数的创建 176
10.1.1 创建存储过程 176
10.1.2 创建存储函数 178
10.1.3 变量的应用 179
10.1.4 光标的运用 182
10.2 流程控制语句 184
10.2.1 IF语句 184
10.2.2 CASE语句 185
10.2.3 WHILE循环语句 187
10.2.4 LOOP循环语句 188
10.2.5 REPEAT循环语句 189
10.3 调用存储过程和存储函数 191
10.3.1 调用存储过程 191
10.3.2 调用存储函数 192
10.4 查看存储过程和函数 192
10.4.1 SHOW STATUS语句 192
10.4.2 SHOW CREATE语句 193
10.5 修改存储过程和存储函数 193
10.6 删除存储过程和存储函数 195
10.7 捕获存储过程中的错误 196
10.7.1 定义条件 196
10.7.2 定义处理程序 197
10.8 综合应用 197
10.8.1 使用存储过程实现用户注册 197
10.8.2 使用存储过程实现用户登录 199
10.9 本章常见错误 200
10.9.1 存储过程或存储函数已存在 200
10.9.2 存储过程名与MySQL内建函数重名 200
10.10 本章小结 201
10.11 跟我上机 201
第11章MySQL触发器 203
(视频讲解:22分钟)
11.1 MySQL触发器 204
11.1.1 创建只有一个执行语句的触发器 204
11.1.2 创建具有多个执行语句的触发器 205
11.2 查看触发器 207
11.2.1 SHOW TRIGGERS语句查看触发器信息 207
11.2.2 查看 triggers表中触发器信息 208
11.3 应用触发器 209
11.4 删除触发器 210
11.5 综合应用 211
11.5.1 创建一个由INSERT触发的触发器 211
11.5.2 获取数据库中的触发器 212
11.6 本章常见错误 213
11.6.1 触发器未删除造成数据变化 213
11.6.2 BEGIN与END之间多条语句未用分号分开 214
11.7 本章小结 214
11.8 跟我上机 214
第12章MySQL事务 215
(视频讲解:15分钟)
12.1 什么是MySQL事务 216
12.1.1 原子性 217
12.1.2 一致性 217
12.1.3 孤立性 217
12.1.4 持久性 218
12.2 MySQL事务的创建与存在周期 218
12.2.1 初始化事务 219
12.2.2 创建事务 219
12.2.3 应用SELECT语句查看数据是否被正确输入 220
12.2.4 提交事务 220
12.2.5 撤销事务(事务回滚) 220
12.2.6 事务的存在周期 221
12.3 MySQL行为 222
12.3.1 自动提交 222
12.3.2 事务的孤立级 223
12.3.3 修改事务的孤立级 224
12.4 事务和性能 224
12.4.1 应用小事务 224
12.4.2 选择合适的孤立级 225
12.4.3 死锁的概念与避免 225
12.5 MySQL伪事务 226
12.5.1 用表锁定代替事务 226
12.5.2 应用表锁实现伪事务 229
12.6 综合应用 229
12.6.1 使用事务实现银行的安全转账 229
12.6.2 使用事务处理技术实现关联表间信息的删除 230
12.7 本章常见错误 232
12.7.1 MySQL数据表不支持事务 232
12.7.2 不能创建InnoDB类型的数据表 233
12.8 本章小结 233
12.9 跟我上机 233
第13章MySQL备份与还原 235
(视频讲解:4分钟)
13.1 数据库备份 236
13.1.1 使用mysqldump命令备份 236
13.1.2 通过复制进行备份 238
13.1.3 使用mysqlhotcopy工具快速备份 238
13.2 数据库还原 239
13.2.1 使用mysql命令还原 239
13.2.2 通过复制进行还原 240
13.3 导出数据表 241
13.3.1 用SELECT ...INTOOUTFILE导出文本文件 241
13.3.2 用mysqldump命令导出文本文件 242
13.3.3 用mysql命令导出文本文件 243
13.4 综合应用 244
13.4.1 使用mysql命令导出HTML文件 244
13.4.2 使用mysqldump命令导出XML文件 245
13.5 本章常见错误 246
13.5.1 指定密码时“-p”与密码之间有空格 246
13.5.2 附加选项option未加引号 246
13.6 本章小结 246
13.7 跟我上机 246
第14章MySQL系统管理 247
(视频讲解:16分钟)
14.1 MySQL系统管理概述 248
14.1.1 MySQL系统的构成 248
14.1.2 日常管理 249
14.1.3 安全问题 250
14.1.4 数据库维护 251
14.2 数据目录的位置和结构 251
14.2.1 数据目录的位置 251
14.2.2 数据目录的结构 253
14.3 MySQL服务器如何提供对数据的访问 254
14.4 MySQL支持的数据表类型 255
14.4.1 ISAM数据表 255
14.4.2 MyISAM数据表 255
14.4.3 BDB数据表 255
14.4.4 InnoDB数据表 255
14.4.5 MERGE数据表 256
14.4.6 HEAP数据表 256
14.5 SQL语句如何操作数据表文件 256
14.5.1 创建数据表 256
14.5.2 更新数据表 257
14.5.3 删除数据表 257
14.6 MySQL状态文件和日志文件 257
14.7 操作系统对数据库和数据表命名规则的限制 260
14.8 MySQL数据目录的结构对系统性能的影响 261
14.9 本章常见错误 262
14.9.1 系统备份前没有关闭MySQL服务器 262
14.9.2 数据库或数据表名中含有路径分隔符 262
14.10 本章小结 263
14.11 跟我上机 263
第15章MySQL性能优化 265
(视频讲解:12分钟)
15.1 性能优化简介 266
15.2 优化查询 267
15.2.1 分析查询语句 267
15.2.2 索引对查询速度的影响 268
15.2.3 使用索引优化查询 270
15.3 查询高速缓存 272
15.3.1 检验高速缓存是否开启 272
15.3.2 使用高速缓存 273
15.4 优化数据库结构 274
15.4.1 分析表、检查表和优化表 274
15.4.2 将多字段的表分解成多个表 275
15.4.3 建立中间表 276
15.4.4 优化插入记录的速度 277
15.5 优化多表查询和表设计 278
15.5.1 优化多表查询 278
15.5.2 优化表设计 280
15.6 综合应用 280
15.6.1 查看MySQL服务器的连接、查询次数 280
15.6.2 检查表 281
15.7 本章常见错误 282
15.7.1 使用OR关键字时有一个字段不为索引 282
15.7.1 应用LIKE匹配字符串时第一个字符是“%” 282
15.8 本章小结 282
15.9 跟我上机 282
第16章MySQL安全技术 283
(视频讲解:10分钟)
16.1 MySQL基本的安全策略 284
16.2 用户和权限管理 285
16.2.1 CREATE USER命令 285
16.2.2 DROP USER命令 285
16.2.3 RENAME USER命令 286
16.2.4 GRANT和REVOKE命令 286
16.3 MySQL安全的常见问题 289
16.3.1 权限更改何时生效 289
16.3.2 设置用户密码 290
16.3.3 使密码更安全 291
16.4 本章常见错误 292
16.4.1 创建账户已存在 292
16.4.2 对账户重命名时的错误 292
16.5 本章小结 292
16.6 跟我上机 292
第17章MySQL日常管理 293
(视频讲解:8分钟)
17.1 MySQL连接故障恢复 294
17.1.1 UNIX套接字文件被误删 294
17.1.2 忘记root口令 294
17.2 日志文件管理 295
17.2.1 查询日志 296
17.2.2 慢日志 296
17.2.3 二进制日志 297
17.2.4 错误日志