第0章 MySQL学习指南 1
0.1 什么是数据库 2
0.2 MySQL简介 3
0.3 MySQL的技术体系 5
0.4 MySQL的应用领域和前景 6
0.5 MySQL学习经验谈 6
0.6 MySQL学习路线图 7
第1篇 基础知识 10
第1章 安装与配置——初识MySQ L 10
1.1 MySQL的特性 11
1.2 安装MySQL 12
1.2.1 开源软件的特点 12
1.2.2 在Windows系统环境下的安装 13
1.2.3 在Linux系统环境下的安装 19
1.3 可视化管理工具的选择和安装 20
1.3.1 选择和下载可视化管理工具 20
1.3.2 在Linux系统环境下的安装 21
1.3.3 在Windows系统环境下的安装 22
1.4 测试安装环境 24
1.5 卸载MySQL 26
1.6 高手点拨 27
1.7 实战练习 28
第2章 MySQL数据库基础 29
2.1 数据与数据管理的历史 30
2.1.1 数据、数据库、数据库系统和数据库管理系统 30
2.1.2 数据管理的历史 30
2.1.3 MySQL的起源与版本 32
2.1.4 MySQL与Oracle 32
2.2 关系型数据模型 33
2.2.1 关系型数据模型的结构 34
2.2.2 关系型数据模型的操作与完整性 36
2.2.3 关系型数据模型的存储结构 38
2.3 关系型数据模型中的数据依赖与范式 38
2.4 常见的关系型数据库管理系统 40
2.5 MySQL数据库系统的体系结构 42
2.6 MySQL存储引擎 43
2.7 高手点拨 43
2.8 实战练习 44
第3章 MySQL管理工具的使用 45
3.1 MySQL Administrator 46
3.1.1 基本功能介绍 46
3.1.2 管理数据库 46
3.2 phpMyAdmin 53
3.2.1 基本功能介绍 53
3.2.2 管理数据库 54
3.3 Navicat for MySQL 57
3.3.1 基本功能介绍 57
3.3.2 基本应用 58
3.4 MySQL访问权限系统 65
3.5 MySQL用户账户管理 68
3.6 MySQL的安全性问题 70
3.7 高手点拨 71
3.8 实战练习 72
第4章 数据库的基本操作 73
4.1 创建数据库 74
4.2 删除数据库 75
4.3 数据库存储引擎 76
4.3.1 MySQL5.6 所支持的存储引擎 76
4.3.2 InnoDB存储引擎 78
4.3.3 MyISAM存储引擎 78
4.3.4 MEMORY存储引擎 79
4.3.5 选择存储引擎 79
4.4 高手点拨 80
4.5 实战练习 80
第2篇 核心技术 82
第5章 数据表的基本操作 82
5.1 创建数据表 83
5.1.1 创建表的语法形式 83
5.1.2 主键约束 84
5.1.3 外键约束 86
5.1.4 非空约束 87
5.1.5 唯一性约束 88
5.1.6 默认约束 89
5.1.7 设置数据表的属性值自动增加 89
5.2 查看数据表结构 90
5.2.1 查看表基本结构 90
5.2.2 查看表详细结构 91
5.3 修改数据表 92
5.3.1 修改表名 92
5.3.2 修改字段数据类型 93
5.3.3 修改字段名 94
5.3.4 添加字段 95
5.3.5 删除字段 98
5.3.6 修改字段排序 99
5.3.7 更改表的存储引擎 100
5.3.8 删除表的外键约束 102
5.4 删除数据表 104
5.4.1 删除没有被关联的表 104
5.4.2 删除被其他表关联的主表 105
5.5 高手点拨 107
5.6 实战练习 107
第6章 MySQL的数据类型和运算符 109
6.1 MySQL数据类型 110
6.1.1 整数类型 110
6.1.2 浮点数类型和定点数类型 112
6.1.3 日期与时间类型 114
6.1.4 字符串类型 128
6.1.5 二进制类型 134
6.2 如何选择数据类型 138
6.3 常见运算符 140
6.3.1 运算符概述 140
6.3.2 算术运算符 140
6.3.3 比较运算符 142
6.3.4 逻辑运算符 150
6.3.5 位运算符 153
6.4 高手点拨 157
6.5 实战练习 158
第7章 MySQL函数 159
7.1 数学函数 160
7.2 字符串函数 164
7.3 日期和时间函数 172
7.4 控制流函数 186
7.5 系统信息函数 188
7.6 加密函数 192
7.7 其他函数 194
7.8 高手点拨 197
7.9 实战练习 198
第8章 查询语句详解 199
8.1 学生—课程数据库 200
8.2 基本查询语句 201
8.2.1 单表查询 201
8.2.2 查询表中的部分字段 201
8.2.3 查询表中的所有字段 202
8.2.4 查询经过计算的值 203
8.2.5 查询表中的若干记录 204
8.3 对查询结果进行排序 212
8.4 统计函数和分组记录查询 213
8.5 GROUP BY子句 216
8.6 使用LIMIT限制查询结果的数量 219
8.7 连接查询 221
8.8 子查询 225
8.9 合并查询结果 230
8.10 使用正则表达式表示查询 233
8.11 综合案例——查询课程数据库 239
8.12 高手点拨 241
8.13 实战练习 242
第9章 存储过程与函数 243
9.1 存储过程的定义 244
9.2 存储过程的创建 244
9.3 存储过程的操作 246
9.3.1 存储过程的调用 247
9.3.2 存储过程的查看 248
9.3.3 存储过程的删除 251
9.4 自定义函数 252
9.4.1 自定义函数的创建 252
9.4.2 自定义函数的调用 253
9.4.3 变量 254
9.4.4 流程控制语句 255
9.4.5 光标的使用 259
9.4.6 定义条件和处理程序 261
9.5 综合案例——统计雇员表 263
9.6 高手点拨 266
9.7 实战练习 266
第10章 触发程序 267
10.1 触发程序的定义 268
10.2 触发程序的创建 268
10.3 触发程序的操作 272
10.3.1 查看触发程序 272
10.3.2 删除触发程序 275
10.4 综合案例——触发程序的使用 275
10.5 高手点拨 280
10.6 实战练习 280
第11章 视图 281
11.1 视图的定义 282
11.2 视图的创建、修改与删除 282
11.2.1 创建视图 282
11.2.2 修改视图 290
11.2.3 删除视图 294
11.3 视图的使用 295
11.4 高手点拨 300
11.5 实战练习 308
第3篇 高级应用 310
第12章 MySQL的备份和恢复 310
12.1 数据库的备份 311
12.1.1 数据库备份的意义 311
12.1.2 逻辑备份和恢复 312
12.1.3 物理备份和恢复 317
12.1.4 各种备份与恢复方法的具体实现 318
12.2 通过phpMyAdmin实现备份和恢复 329
12.3 高手点拨 330
12.4 实战练习 332
第13章 MySQL的复制 333
13.1 认识MySQL复制 334
13.1.1 复制的概念 334
13.1.2 复制的用途 334
13.1.3 复制的实现 335
13.1.4 MySQL复制的几种模式 335
13.2 控制主服务器的操作 336
13.2.1 复制前的环境配置 336
13.2.2 复制的过程 336
13.3 控制从服务器的操作 338
13.4 高手点拨 342
13.5 实战练习 342
第14章 MySQL的日志管理 343
14.1 操作错误日志 344
14.1.1 启动错误日志 344
14.1.2 查看错误日志 344
14.1.3 删除错误日志 345
14.2 操作查询日志 345
14.2.1 启动查询日志 346
14.2.2 查看查询日志 347
14.2.3 删除查询日志 347
14.3 操作二进制日志 348
14.3.1 启动二进制日志 348
14.3.2 查看二进制日志 350
14.3.3 删除二进制日志 354
14.3.4 使用二进制日志还原数据库 356
14.4 操作慢查询日志 359
14.4.1 启动慢查询日志 360
14.4.2 查看慢查询日志 360
14.4.3 删除慢查询日志 361
14.5 高手点拨 361
14.6 实战练习 362
第15章 MySQL分布式应用 363
15.1 分布式应用的概念和优势 364
15.2 MySQL分布式应用的主要技术 364
15.2.1 MySQL数据切分 364
15.2.2 MySQL读写分离 365
15.2.3 MySQL集群 366
15.3 MySQL分布式应用实例 367
15.4 高手点拨 370
15.5 实战练习 370
第16章 MySQL缓存的配置和使用 371
16.1 MySQL的缓存机制 372
16.1.1 查询缓存概述 372
16.1.2 MySQL查询缓存的工作原理 372
16.1.3 查看MySQL的缓存信息 374
16.2 MySQL查询缓存的配置和使用 375
16.2.1 配置查询缓存 376
16.2.2 使用查询缓存 377
16.2.3 查询缓存的维护 381
16.3 高手点拨 382
16.4 实战练习 382
第17章 MySQL错误代码和消息的使用 383
17.1 MySQL服务器端错误代码和消息 384
17.2 MySQL客户端错误代码和消息 385
17.3 高手点拨 385
17.4 实战练习 386
第4篇 项目实战 388
第18章 试卷管理系统 388
18.1 系统概述 389
18.2 需求分析 389
18.3 总体设计 390
18.4 数据库设计 391
18.4.1 数据表详细信息 392
18.4.2 数据库实现 394
18.5 详细设计及实现 396
18.6 高手点拨 396
18.7 实战练习 396
第19章 电动汽车分时租用平台数据库分析与设计 397
19.1 需求分析 398
19.1.1 项目背景 398
19.1.2 系统目标 399
19.1.3 运行环境 399
19.1.4 功能需求 400
19.1.5 数据说明 402
19.1.6 软件接口说明 405
19.1.7 用户及权限要求 405
19.2 数据库分析与设计 406
19.3 分时租用平台的MySQL数据库实现 410
第20章 电动汽车GPS定位系统 413
20.1 需求分析 414
20.2 系统实现 415
20.2.1 地图定位 415
20.2.2 查找附近 416
20.2.3 我要导航 418
20.2.4 历史记录 422
20.3 技术要点 424
附录A MySQL服务器端错误代码和消息 433
附录B 客户端错误代码 453
附录C 其他错误代码和消息 457