标题：MySQL快速入门
图书简介：
全书共分4篇19章。其中，第1篇 MySQL基础篇：主要包括初识MySQL数据库、MySQL图形化管理工具、MySQL存储引擎和数据类型、MySQL基本操作、数据查询、MySQL运算符、MySQL函数和查询优化等内容；第2篇MySQL高级应用篇：主要包括MySQL索引、MySQL视图、MySQL存储过程、MySQL触发器和MySQL事务等内容；第3篇MySQL系统管理篇：主要包括MySQL系统管理、MySQL日常管理和MySQL数据库的安全技术等内容；第4篇MySQL应用程序开发篇：主要包括MySQL应用程序设计的3种语言接口（PHP语言、Java语言和C语言）。
本书提供了大量的自学视频、源程序、素材，提供了相关的模块库、案例库、素材库、题库等多种形式的辅助学习资料，还提供迅速及时的微博、QQ、论坛等技术支持。前言：俗话说，学Web项目开发，就选PHP语言；学数据库，就选MySQL。
MySQL是一款非常优秀的免费软件，由瑞士的MySQL AB公司开发，它是一款真正的快速、多用户、多线程的SQL数据库。
MySQL数据库是世界上最流行的数据库之一。全球最大的网络搜索引擎公司——Google使用的数据库就是MySQL，并且国内很多大型网络公司也选择MySQL数据库，诸如百度、网易、新浪等。据统计，世界上一流的互联网公司中，排名前20位的有80%是MySQL的忠实用户。
《mysql快速入门》系统、全面地讲解了mysql数据库技术。以实战模拟的方式诠释mysql数据库在不同语言中的应用，重点突出c、php和java语言操作mysql数据库的方法与技巧，并配合以清晰、流畅的视频录像和经典习题，打造一套完美的mysql初级入门图书。　《mysql快速入门》共分4篇19章。其中，第1篇 mysql基础篇：主要包括初识mysql数据库、mysql图形化管理工具、mysql存储引擎和数据类型、mysql基本操作、数据查询、mysql运算符、mysql函数和查询优化等内容；第2篇mysql高级应用篇：主要包括mysql索引、mysql视图、mysql存储过程、mysql触发器和mysql事务等内容；第3篇mysql系统管理篇：主要包括mysql系统管理、mysql日常管理和mysql数据库的安全技术等内容；第4篇mysql应用程序开发篇：主要包括mysql应用程序设计的3种语言接口（php语言、java语言和c语言）。　《mysql快速入门》提供了大量的自学视频、源程序、素材，提供了相关的模块库、案例库、素材库、题库等多种形式的辅助学习资料，还提供迅速及时的微博、qq、论坛等技术支持。　《mysql快速入门》内容详尽、实例丰富，非常适合作为零基础学习人员的学习用书和大中专院校师生的学习教材，也适合作为相关培训机构的师生和软件开发人员的参考资料。[1]本书内容本书提供了MySQL从入门到实际应用所必备的知识，并且分篇进行讲解，使读者学习更有针对性。学习本书内容时，首先要熟练掌握基础篇的内容，为以后的应用开发打下扎实的基础；然后有针对性地学习高级应用篇的内容，为MySQL应用程序开发存储必备的知识；接着学习MySQL的系统管理知识，只有熟悉、掌握其管理和维护的方法，才能更好地应用它；最后选择MySQL程序设计接口，学习MySQL应用程序开发。MySQL图书内容分布比例如下图所示。
第1篇 MySQL基础篇（第1～8章）：主要包括初识MySQL数据库、MySQL图形化管理工具、MySQL存储引擎和数据类型、MySQL基本操作、数据查询、MySQL运算符、MySQL函数和查询优化等内容。通过本篇的学习，读者能够熟练掌握MySQL数据库的基础知识，并通晓其在Windows和Linux操作系统下的安装方法。
第2篇 MySQL高级应用篇（第9～13章）：主要包括MySQL索引、MySQL视图、MySQL存储过程、MySQL触发器和MySQL事务等内容。通过本篇的学习，读者将熟悉MySQL的高级应用。
第3篇 MySQL系统管理篇（第14～16章）：主要包括MySQL系统管理、MySQL日常管理和MySQL数据库的安全技术等内容。通过本篇的学习，读者将了解有关MySQL数据库的创建原理及安全防护措施，并掌握数据库管理、维护的方法和工具。
第4篇 MySQL应用程序开发篇（第17～19章）：主要包括MySQL应用程序设计的3种语言接口，即PHP语言、Java语言和C语言，并分别对这3种程序语言如何连接、操作MySQL数据库进行了详细地讲解，并以实战项目开发巩固所学知识，真正做到理论与实践相结合。本书特点* 技术新颖，讲解细致
全面、细致地展示MySQL的基础知识，融入PHP语言、Java语言和C语言操作MySQL数据库的方法，达到学以致用。
* 实例丰富，贴近实际
在详细地讲解每个技术点的同时，以大量的示例和实例作为辅助，加深读者对知识的掌握，并提高实践动手的能力。
* 动手实践，一体学习
对于重要章节，以实战模拟栏目的形式，为读者提供丰富的实战练习题，让读者能够亲自动手实践，体会MySQL数据库与PHP语言、Java语言或者C语言的完美结合。
* 多媒体视频教学
为了便于读者更好地学习和使用本书，书中针对MySQL的安装、配置以及一些特殊内容，提供了清晰、流畅的多媒体视频，让读者更加高效、直观地进行学习。本书配套资源本书提供了内容丰富的配套资源，包括自学视频、源程序、素材，以及模块库、案例库、题库、素材库等多项辅助内容，读者朋友可以通过如下方式获取。
第1种方式：
（1）登录清华大学出版社的网站，在网页右上角的搜索文本框中输入本书书名（注意区分大小写和留出空格），或者输入本书关键字，或者输入本书ISBN号（注意去掉ISBN号间隔线“-”），单击“搜索”按钮。
（2）找到本书后单击超链接，在该书的网页下侧单击“网络资源”超链接，即可下载。
第2种方式：
访问本书的新浪微博PHPbook，找到配套资源的链接地址进行下载。
读者对象
? 大中专院校师生 ? 面临就业的学生
? 零基础学习人员 ? 相关培训机构的老师和学员
? 初中级程序开发人员 ? 准备从事软件开发的求职者
? 编程爱好者 ? 立志编程的其他专业人士
图书目录
第1篇 MySQL基础篇第1章 初识MySQL数据库
（ 自学视频、源程序：配套资源） 2
1.1 了解MySQL数据库 3
1.1.1 MySQL的发展历史 3
1.1.2 MySQL的特性 3
1.1.3 MySQL的应用环境 4
1.1.4 MySQL的管理软件 4
1.1.5 MySQL下载 5
1.2 Windows下MySQL的安装 7
1.3 启动、连接、断开和停止
MySQL服务器 11
1.3.1 启动、停止MySQL
服务器 12
1.3.2 连接、断开MySQL服务器 13
1.4 Linux下MySQL的安装 15
本章摘要 17
习题 17
第2章 MySQL图形化管理工具
（ 自学视频、源程序：
配套资源） 19
2.1 MySQL Workbench图形化管理
工具 20
2.1.1 MySQL Workbench的
安装 20
2.1.2 创建数据库和数据表 22
2.1.3 添加数据 24
2.1.4 数据的导入和导出 26
2.2 phpMyAdmin图形化管理
工具 28
2.2.1 数据库操作管理 28
2.2.2 管理数据表 30
2.2.3 管理数据记录 31
2.2.4 导入和导出数据 34
2.2.5 phpMyAdmin设置编码
格式 36
2.2.6 phpMyAdmin添加服务器新
用户 37
2.2.7 phpMyAdmin中重置MySQL
服务器登录密码 37
本章摘要 38
习题 39
第3章 MySQL存储引擎和数据类型
（ 自学视频、源程序：
配套资源） 40
3.1 MySQL存储引擎 41
3.1.1 什么是MySQL存储引擎 41
3.1.2 查询MySQL中支持的存储
引擎 41
3.1.3 InnoDB存储引擎 42
3.1.4 MyISAM存储引擎 43
3.1.5 MEMORY存储引擎 44
3.1.6 如何选择存储引擎 45
3.1.7 设置数据表的存储引擎 46
3.2 MySQL数据类型 47
3.2.1 数字类型 47
3.2.2 字符串（字符）类型 48
3.2.3 日期和时间类型 49
本章摘要 49
习题 49
第4章 MySQL基本操作
（ 自学视频、源程序：
配套资源） 51
4.1 MySQL数据库操作 52
4.1.1 创建数据库CREATE 
DATABASE 52
4.1.2 查看数据库SHOW 
DATABASES 52
4.1.3 选择数据库USE 
DATABASE 53
4.1.4 删除数据库DROP 
DATABASE 53
4.2 MySQL数据表操作 53
4.2.1 创建数据表CREATE 
TABLE 54
4.2.2 查看表结构SHOW COLUMNS
或DESCRIBE 55
4.2.3 修改表结构ALTER TABLE 56
4.2.4 重命名表RENAME TABLE 57
4.2.5 删除表DROP TABLE 57
4.3 MySQL语句操作 58
4.3.1 插入记录INSERT 58
4.3.2 查询数据库记录SELECT 58
4.3.3 修改记录UPDATE 62
4.3.4 删除记录DELETE 63
本章摘要 63
习题 63
实战模拟 65
第5章 数据查询
（ 自学视频、源程序：
配套资源） 69
5.1 基本查询语句 70
5.2 单表查询 71
5.2.1 查询所有字段 71
5.2.2 查询指定字段 72
5.2.3 查询指定数据 72
5.2.4 带IN关键字的查询 73
5.2.5 带BETWEEN AND的范围
查询 74
5.2.6 带LIKE的字符匹配查询 74
5.2.7 用IS NULL关键字查询空值 75
5.2.8 带AND的多条件查询 76
5.2.9 带OR的多条件查询 76
5.2.10 用DISTINCT关键字去除
结果中的重复行 77
5.2.11 用ORDER BY关键字对
查询结果排序 77
5.2.12 用GROUP BY关键字分组
查询 78
5.2.13 用LIMIT限制查询结果的
数量 79
5.3 使用聚合函数查询 80
5.3.1 COUNT()函数 80
5.3.2 SUM()函数 81
5.3.3 AVG()函数 81
5.3.4 MAX()函数 82
5.3.5 MIN()函数 82
5.4 连接查询 83
5.4.1 内连接查询 83
5.4.2 外连接查询 84
5.4.3 复合条件连接查询 85
5.5 子查询 86
5.5.1 带IN关键字的子查询 86
5.5.2 带比较运算符的子查询 87
5.5.3 带EXISTS关键字的子查询 88
5.5.4 带ANY关键字的子查询 89
5.5.5 带ALL关键字的子查询 90
5.6 合并查询结果 91
5.7 定义表和字段的别名 92
5.7.1 为表取别名 92
5.7.2 为字段取别名 92
5.8 使用正则表达式查询 93
本章摘要 94
习题 94
实战模拟 96
第6章 MySQL运算符
（ 自学视频、源程序：
配套资源） 101
6.1 MySQL运算符 102
6.2 算术运算符 102
6.3 比较运算符 103
6.4 逻辑运算符 108
6.5 位运算符 110
6.6 运算符的优先级 110
本章摘要 111
习题 111
第7章 MySQL函数
（ 自学视频、源程序：
配套资源） 112
7.1 MySQL函数 113
7.2 数学函数 113
7.2.1 ABS(x)函数 114
7.2.2 FLOOR(x)函数 114
7.2.3 RAND()函数 115
7.2.4 PI()函数 115
7.2.5 TRUNCATE(x,y)函数 116
7.2.6 ROUND(x)函数和ROUND(x,y)
函数 116
7.2.7 SQRT(x)函数 116
7.3 字符串函数 117
7.3.1 INSERT(s1,x,len,s2)函数 118
7.3.2 UPPER(s)和UCASE(s)函数 119
7.3.3 LEFT(s,n)函数 119
7.3.4 RTRIM(s)函数 119
7.3.5 SUBSTRING(s,n,len)函数 120
7.3.6 REVERSE(s)函数 120
7.3.7 FIELD(s,s1,s2,…)函数 120
7.4 日期和时间函数 121
7.4.1 CURDATE()和
CURRENT_DATE()函数 122
7.4.2 CURTIME()和
CURRENT_TIME()函数 122
7.4.3 NOW()函数 123
7.4.4 DATEDIFF(d1,d2)函数 123
7.4.5 ADDDATE(d,n)函数 124
7.4.6 ADDDATE(d,INTERVAL expr 
type)函数 124
7.4.7 SUBDATE(d,n)函数 124
7.5 条件判断函数 125
7.6 系统信息函数 125
7.7 加密函数 126
7.8 其他函数 126
本章摘要 127
习题 128
第8章 查询优化
（ 自学视频、源程序：
配套资源） 129
8.1 索引 130
8.1.1 索引对查询速度的影响 130
8.1.2 使用索引查询 131
8.2 分析查询语句 133
8.3 查询高速缓存 134
8.3.1 检验高速缓存是否开启 134
8.3.2 使用高速缓存 135
8.4 优化多表查询 136
8.5 使用临时表 137
8.6 优化表设计 139
本章摘要 139
习题 140第2篇 MySQL高级应用篇第9章 MySQL索引
（ 自学视频、源程序：
配套资源） 142
9.1 MySQL索引概述 143
9.1.1 MySQL索引概述 143
9.1.2 MySQL索引分类 143
9.2 创建索引 144
9.2.1 在建立数据表时创建索引 144
9.2.2 在已建立的数据表中创建
索引 149
9.2.3 修改数据表结构添加索引 151
9.3 删除索引 153
本章摘要 153
习题 154
第10章 MySQL视图
（ 自学视频、源程序：
配套资源） 155
10.1 MySQL视图 156
10.1.1 视图的概念 156
10.1.2 视图的作用 156
10.2 创建视图 157
10.2.1 查看用户是否具有创建视图
的权限 157
10.2.2 创建视图 158
10.2.3 创建视图的注意事项 158
10.3 查看视图 159
10.4 修改视图 161
10.5 更新视图 163
10.6 删除视图 165
本章摘要 166
习题 166
实战模拟 167
第11章 MySQL存储过程
（ 自学视频、源程序：
配套资源） 171
11.1 创建存储过程和存储函数 172
11.1.1 创建存储过程 172
11.1.2 创建存储函数 174
11.1.3 变量的应用 175
11.1.4 光标的运用 178
11.2 流程控制语句 179
11.2.1 IF语句 179
11.2.2 CASE语句 180
11.2.3 WHILE循环语句 181
11.2.4 LOOP循环语句 182
11.2.5 REPEAT循环语句 183
11.3 调用存储过程和存储函数 185
11.3.1 调用存储过程 185
11.3.2 调用存储函数 185
11.4 查看存储过程和存储函数 185
11.4.1 SHOW STATUS语句 185
11.4.2 SHOW CREATE语句 186
11.5 修改存储过程和存储函数 186
11.6 删除存储过程和存储函数 187
11.7 捕获存储过程中的错误 188
11.7.1 定义条件 188
11.7.2 定义处理程序 189
本章摘要 189
习题 190
实战模拟 191
第12章 MySQL触发器
（ 自学视频、源程序：
配套资源） 194
12.1 MySQL触发器 195
12.1.1 创建MySQL触发器 195
12.1.2 创建具有多个执行语句的
触发器 196
12.2 查看触发器 198
12.2.1 SHOW TRIGGERS 198
12.2.2 查看 triggers表中触发器
信息 198
12.3 应用触发器 199
12.4 删除触发器 200
本章摘要 201
习题 201
实战模拟 202
第13章 MySQL事务
（ 自学视频、源程序：
配套资源） 205
13.1 MySQL事务概述 206
13.1.1 原子性 207
13.1.2 一致性 207
13.1.3 孤立性 207
13.1.4 持久性 208
13.2 MySQL事务的创建与存在
周期 208
13.2.1 初始化事务 209
13.2.2 创建事务 209
13.2.3 应用SELECT语句查看数据
是否被正确输入 210
13.2.4 提交事务 210
13.2.5 撤销事务（事务回滚） 211
13.2.6 事务的存在周期 211
13.3 MySQL行为 212
13.3.1 自动提交 212
13.3.2 事务的孤立级 213
13.3.3 修改事务的孤立级 214
13.4 事务和性能 214
13.4.1 应用小事务 214
13.4.2 选择合适的孤立级 215
13.4.3 死锁的概念与避免方法 215
13.5 MySQL伪事务 216
13.5.1 用表锁定代替事务 216
13.5.2 应用表锁定实现伪事务 218
本章摘要 219
习题 219
实战模拟 220第3篇 MySQL系统管理篇第14章 MySQL系统管理
（ 自学视频、源程序：
配套资源） 224
14.1 MySQL系统管理 225
14.1.1 管理职责概述 225
14.1.2 日常管理 226
14.1.3 安全问题 227
14.1.4 数据库修复和维护 228
14.2 数据目录的位置 228
14.3 数据目录的结构 230
14.4 MySQL服务器如何提供对
数据的访问 231
14.5 MySQL数据库在文件系统里
如何表示 232
14.6 MySQL数据表在文件系统里
如何表示 233
14.6.1 ISAM数据表 233
14.6.2 MyISAM数据表 233
14.6.3 MERGE数据表 233
14.6.4 BDB数据表 233
14.6.5 InnoDB数据表 233
14.6.6 HEAP数据表 234
14.7 SQL语句如何映射为数据表
文件操作 234
14.7.1 创建数据表 234
14.7.2 更新数据表 234
14.7.3 删除数据表 234
14.8 操作系统对数据库和数据表
命名的限制 235
14.9 数据目录的结构对系统性能的
影响 236
14.10 MySQL状态文件和日志
文件 237
本章摘要 240
习题 240
第15章 MySQL日常管理
（ 自学视频、源程序：
配套资源） 241
15.1 连接故障恢复 242
15.1.1 MySQL套接字被误删 242
15.1.2 忘记root口令 242
15.2 日志文件管理 243
15.2.1 错误日志 243
15.2.2 通用查询日志 244
15.2.3 二进制日志 244
15.2.4 慢速查询日志 246
15.2.5 日志文件维护 247
15.2.6 日志失效处理 247
15.3 MySQL数据库备份和恢复 251
15.3.1 数据的备份 252
15.3.2 数据恢复 252
15.4 MySQL服务器镜像配置 254
15.4.1 镜像机制概念 254
15.4.2 建立主—从镜像关系 254
15.4.3 MySQL双机热备份 256
15.5 MySQL服务器的一些优化
配置 259
15.5.1 对MySQL服务器的连接
监听情况进行控制 259
15.5.2 启用或禁用LOAD DATA
语句的LOCAL能力 259
15.5.3 国际化和本地化 259
15.5.4 对老数据表进行转换以激活
MySQL4.1的字符集支持 261
15.6 优化MySQL服务器 261
15.6.1 服务器参数变量的设置 261
15.6.2 通用的MySQL服务器
变量 263
15.6.3 InnoDB处理程序变量 263
15.7 运行多个MySQL服务器 264
15.7.1 运行多个MySQL服务器
需要注意的问题 264
15.7.2 设置MySQL服务器启动
选项的策略 264
15.7.3 用mysql_multi脚本启动
多个MySQL服务器 265
15.7.4 在Windows系统上运行
多个MySQL服务器 266
本章摘要 267
习题 267
第16章 MySQL数据库的安全技术
（ 自学视频、源程序：
配套资源） 268
16.1 MySQL基本的安全保护
策略 269
16.2 用户和权限管理 269
16.2.1 使用CREATE USER命令
创建用户 270
16.2.2 使用DROP USER命令删除
用户 270
16.2.3 使用RENAME USER命令
重命名用户 271
16.2.4 GRANT和REVOKE命令 271
16.3 MySQL数据库安全技术的常见
问题 274
16.3.1 权限更改何时生效 274
16.3.2 设置账户密码 274
16.3.3 使你的密码更安全 275
本章摘要 276
习题 276第4篇 MySQL应用程序开发篇第17章 MySQL应用程序设计接口：
PHP语言
（ 自学视频、源程序：
配套资源） 278
17.1 PHP语言概述 279
17.1.1 什么是PHP 279
17.1.2 为什么选择PHP 279
17.1.3 PHP的工作原理 280
17.1.4 PHP结合数据库应用的
优势 281
17.2 PHP操作MySQL数据库的
步骤 281
17.3 使用PHP操作MySQL
数据库 282
17.3.1 mysql_connect()函数连接
MySQL服务器 282
17.3.2 mysql_select_db()函数选择
MySQL数据库 283
17.3.3 mysql_query()函数执行SQL
语句 283
17.3.4 mysql_fetch_array()函数将
结果集返回到数组中 284
17.3.5 mysql_fetch_row()函数从
结果集中获取一行作为
枚举数组 284
17.3.6 mysql_num_rows()函数
获取查询结果集中的记
录数 284
17.3.7 mysql_free_result()函数
释放内存 285
17.3.8 mysql_close()函数关闭
连接 285
17.4 PHP管理MySQL数据库中的
数据 285
17.4.1 向数据库中添加数据 285
17.4.2 浏览数据库中数据 286
17.4.3 编辑数据库数据 287
17.4.4 删除数据 288
17.4.5 批量删除数据 290
17.5 常见问题与解决方法 291
17.6 MySQL与PHP的应用实
例——迷你日记 294
17.6.1 迷你日记概述 294
17.6.2 数据库设计 295
17.6.3 用户登录 296
17.6.4 发表日记 297
17.6.5 分页显示日记列表 299
17.6.6 弹出窗口修改日记 301
17.6.7 查询日记 303
17.6.8 应用JavaScript实现批量
删除 305
17.7 PDO数据库抽象层 307
17.7.1 什么是数据库抽象层 307
17.7.2 安装PDO 307
17.7.3 连接数据库 308
17.7.4 PDO中执行SQL语句 309
17.7.5 获取结果 310
17.8 PDO数据库抽象层应用实
例——571公告管理系统 311
17.8.1 系统概述 311
17.8.2 数据库设计 311
17.8.3 用户注册 313
17.8.4 用户登录 315
17.8.5 添加公告 315
17.8.6 更新公告 317
17.8.7 查询公告 320
本章摘要 321
习题 322
第18章 MySQL应用程序设计接口： 
Java语言
（ 自学视频、源程序：
配套资源） 323
18.1 JDBC技术 324
18.1.1 数据库概述 324
18.1.2 JDBC-ODBC技术介绍 325
18.1.3 JDBC技术 326
18.2 JDBC中常用的类和接口 326
18.2.1 DriverManager类 326
18.2.2 Connection接口 327
18.2.3 Statement接口 327
18.2.4 PreparedStatement接口 328
18.2.5 ResultSet接口 328
18.3 数据库连接 330
18.3.1 加载数据库驱动 330
18.3.2 创建数据库连接 330
18.3.3 向数据库发送SQL语句 332
18.3.4 获取查询结果集 332
18.3.5 关闭连接 333
18.4 数据操作 333
18.4.1 添加数据 333
18.4.2 删除数据 335
18.4.3 修改数据 337
18.4.4 查询数据 338
18.4.5 使用预编译语句 339
18.4.6 模糊查询 341
18.5 综合实例 342
18.5.1 英汉小词典 342
18.5.2 系统登录 346
18.5.3 库存管理 349
本章摘要 353
习题 353
第19章 MySQL应用程序设计接口：
C语言
（ 自学视频、源程序：
配套资源） 355
19.1 图书管理系统开发背景 356
19.2 系统设计 356
19.2.1 系统目标 356
19.2.2 系统功能结构 356
19.3 数据库设计 357
19.3.1 创建数据库 357
19.3.2 数据表结构 358
19.4 C语言开发数据库程序的
流程 358
19.5 C语言操作MySQL数据库 361
19.5.1 MySQL常用数据库操作
函数 361
19.5.2 连接MySQL数据 363
19.5.3 查询图书表记录 364
19.5.4 插入图书表记录 366
19.5.5 修改图书表记录 367
19.5.6 删除图书表记录 368
19.6 文件引用 369
19.7 变量和函数定义 370
19.8 主要功能模块设计 370
19.8.1 显示主菜单信息 370
19.8.2 显示所有图书信息 372
19.8.3 添加图书信息 374
19.8.4 修改图书信息 380
19.8.5 删除图书信息 386
19.8.6 查询图书信息 391
本章摘要 393
习题 393
附录 396