数据库系统原理及MySQL应用教程 第3版 / 面向新工科普通高等教育系列教材
定价:¥89.00
作者: 李辉等
出版时间:2026-03-06
出版社:机械工业出版社
- 机械工业出版社
- 9787111799207
- 3-2
- 578941
- 平装
- 2026-03-06
- 756
内容简介
本书系统全面地介绍了数据库技术的基本原理和应用,主要内容包括:数据库系统概述、信息与数据模型、关系代数与关系数据库理论、数据库设计与实现、MySQL的安装与使用、MySQL存储引擎与数据库操作、MySQL表定义与完整性约束控制、MySQL数据操作管理、MySQL索引、MySQL视图、MySQL存储过程与自定义函数、MySQL触发器与事件调度器、MySQL权限管理、MySQL事务与并发控制、MySQL数据库备份与还原、MySQL日志管理、分布式数据库与MySQL的应用、MySQL在Web开发中的应用、非关系数据库等。
本书内容循序渐进、深入浅出、清晰明了、条理性强,每一章节都给出了相应的实例。并且本书将上机实践环节分为验证性实验和设计性实验两部分,可以帮助初学者应对动手实践时的迷茫与困惑。
本书可作为计算机相关专业“数据库系统原理及应用”课程的配套教材,也可供参加数据库类考试的人员、数据库应用系统开发设计人员、工程技术人员及其他相关人员参阅。对于非计算机专业的本科学生,如果希望学到关键、实用的数据库技术,也可采用本书作为教材。本书用作教材时可根据专业、课时等情况对内容适当取舍。
本书内容循序渐进、深入浅出、清晰明了、条理性强,每一章节都给出了相应的实例。并且本书将上机实践环节分为验证性实验和设计性实验两部分,可以帮助初学者应对动手实践时的迷茫与困惑。
本书可作为计算机相关专业“数据库系统原理及应用”课程的配套教材,也可供参加数据库类考试的人员、数据库应用系统开发设计人员、工程技术人员及其他相关人员参阅。对于非计算机专业的本科学生,如果希望学到关键、实用的数据库技术,也可采用本书作为教材。本书用作教材时可根据专业、课时等情况对内容适当取舍。
目录
目 录
前言
第1章 数据库系统概述 1
1.1 数据与数据管理技术 1
1.1.1 数据库系统的基本概念 1
1.1.2 数据管理技术的发展 7
1.2 数据库系统的特点及组成 10
1.2.1 数据库系统的特点 10
1.2.2 数据库系统的组成 11
1.3 数据库系统结构 13
1.3.1 数据抽象 13
1.3.2 三级模式结构 13
1.3.3 数据库系统体系结构 17
1.4 本章小结 18
1.5 思考与练习 18
第2章 信息与数据模型 21
2.1 信息的3种世界及描述 21
2.2 数据模型 22
2.2.1 数据模型的定义 22
2.2.2 数据处理三层抽象描述 23
2.2.3 数据模型的要素 23
2.2.4 数据模型与数据模式的区别 24
2.3 概念模型 25
2.3.1 基本概念 25
2.3.2 E-R模型 26
2.4 逻辑模型 28
2.4.1 层次模型 28
2.4.2 网状模型 29
2.4.3 关系模型 29
2.4.4 面向对象模型 30
2.5 概念模型向逻辑模型的转换 30
2.6 关系模型 32
2.6.1 关系数据结构 32
2.6.2 关系操作 35
2.6.3 关系的完整性 36
2.7 本章小结 39
2.8 思考与练习 39
第3章 关系代数与关系数据库理论 43
3.1 关系代数及其运算 43
3.1.1 关系中的数学定义 43
3.1.2 关系代数概述 44
3.1.3 传统的集合运算 45
3.1.4 专门的关系运算 47
3.2 关系演算 54
3.2.1 元组关系演算 54
3.2.2 域关系演算 55
3.3 关系代数表达式的优化 56
3.4 关系数据库理论 56
3.4.1 问题的提出 57
3.4.2 函数依赖 58
3.4.3 关系模式的范式及规范化 66
3.5 关系模式的分解 71
3.6 本章小结 77
3.7 思考与练习 77
第4章 数据库设计与实现 81
4.1 数据库设计概述 81
4.1.1 数据库设计的内容 81
4.1.2 数据库设计的特点 82
4.1.3 数据库设计的方法 82
4.1.4 数据库设计的阶段 83
4.2 需求分析 85
4.2.1 需求描述与分析 85
4.2.2 需求分析分类 86
4.2.3 需求分析的内容、方法和步骤 86
4.2.4 数据字典 88
4.3 概念结构设计 90
4.3.1 概念结构设计的必要性及要求 90
4.3.2 概念结构设计的方法与步骤 90
4.3.3 采用E-R模型设计概念结构的
方法 92
4.3.4 数据库建模设计工具 95
4.4 逻辑结构设计 96
4.4.1 E-R模型向关系模型的转换 97
4.4.2 关系模式规范化 97
4.4.3 模式评价与改进 97
4.5 物理结构设计 98
4.5.1 物理结构设计的内容和方法 98
4.5.2 评价物理结构 100
4.6 数据库行为设计 100
4.7 数据库实施 101
4.8 数据库的运行与维护 102
4.9 本章小结 103
4.10 思考与练习 104
第5章 MySQL的安装与使用 108
5.1 MySQL简介 108
5.1.1 MySQL的优势与系统特性 108
5.1.2 MySQL的发行版本与新增亮点 109
5.1.3 MySQL 服务器与端口号 110
5.2 MySQL系统构成与工作流程 110
5.2.1 MySQL系统构成 110
5.2.2 MySQL工作流程 112
5.3 MySQL体系结构 113
5.4 MySQL中的SQL 115
5.4.1 SQL的组成 115
5.4.2 SQL的特点 116
5.4.3 SQL的书写规则 117
5.5 MySQL的安装和使用 118
5.5.1 MySQL的下载与安装 118
5.5.2 MySQL服务的启动和停止 123
5.5.3 MySQL服务器的登录和退出 125
5.5.4 MySQL的卸载 128
5.5.5 MySQL的相关命令 129
5.6 Navicat的安装与使用 129
5.6.1 Navicat的下载与安装 130
5.6.2 Navicat的使用 133
5.6.3 在Navicat中运行SQL语句 139
5.7 本章小结 139
5.8 思考与练习 139
第6章 MySQL存储引擎与数据库
操作 141
6.1 存储引擎 141
6.1.1 概述 141
6.1.2 InnoDB存储引擎 143
6.1.3 MyISAM存储引擎 144
6.1.4 MEMORY存储引擎 144
6.1.5 MERGE存储引擎 144
6.1.6 其他存储引擎 145
6.1.7 存储引擎的选择 145
6.2 字符集与校对规则 146
6.2.1 概述 146
6.2.2 MySQL支持的字符集与校对
规则 146
6.2.3 MySQL字符集的选择 147
6.2.4 MySQL字符集与校对规则的
设置 148
6.3 数据库的操作 150
6.3.1 MySQL数据库的构成 150
6.3.2 创建数据库 151
6.3.3 选择数据库 153
6.3.4 修改数据库名称 154
6.3.5 删除数据库 154
6.4 本章小结 155
6.5 思考与练习 155
第7章 MySQL表定义与完整性
约束控制 157
7.1 表的基本概念 157
7.2 数据类型 157
7.2.1 数值类型 158
7.2.2 日期时间类型 159
7.2.3 字符串类型 159
7.2.4 复合类型 160
7.2.5 二进制类型 160
7.2.6 JSON类型 160
7.2.7 选择合适的数据类型 161
7.3 运算符 162
7.3.1 算术运算符 162
7.3.2 比较运算符 162
7.3.3 逻辑运算符 163
7.4 数据表的操作管理 163
7.4.1 创建数据表 163
7.4.2 查看数据表 165
7.4.3 修改数据表 166
7.4.4 复制数据表 176
7.4.5 删除数据表 177
7.4.6 表管理中的注意事项 178
7.5 MySQL约束控制定义与管理 178
7.5.1 主键约束的添加与删除 179
7.5.2 唯一约束的添加与删除 184
7.5.3 非空约束的添加与删除 189
7.5.4 默认约束的添加与删除 192
7.5.5 自增约束的添加与删除 194
7.5.6 外键约束的添加与删除 197
7.5.7 检查约束设置 202
7.6 本章小结 202
7.7 思考与练习 202
第8章 MySQL数据操作管理 205
8.1 插入数据 205
8.1.1 为所有字段插入数据 205
8.1.2 为指定字段插入数据 206
8.1.3 使用SET方式为字段插入数据 207
8.1.4 同时插入多条记录 209
8.1.5 插入SELECT语句的查询结果 210
8.1.6 主键冲突解决方法 211
8.1.7 MySQL 8.0新特性:JSON类型
数据存储 213
8.2 修改数据 214
8.3 删除数据 215
8.3.1 使用DELETE删除表数据 215
8.3.2 使用TRUNCATE清空表数据 216
8.4 单表查询 217
8.4.1 SELECT语法结构 217
8.4.2 简单查询 218
8.4.3 条件查询 224
8.4.4 分组查询 231
8.4.5 排序与限制行数 238
8.4.6 窗口函数查询 240
8.5 多表关联查询 242
8.5.1 内连接查询 243
8.5.2 外连接查询 245
8.5.3 嵌套子查询 246
8.5.4 合并查询 252
8.6 MySQL 8.0新特性:通用
表达式 252
8.7 本章小结 254
8.8 思考与练习 254
第9章 MySQL索引 259
9.1 索引概述 259
9.1.1 索引简介 259
9.1.2 索引的特点 259
9.1.3 索引的分类 260
9.2 索引的管理 261
9.2.1 创建索引 261
9.2.2 查看索引 267
9.2.3 删除索引 268
9.3 索引的设计原则、合理定义和
正确使用 269
9.4 本章小结 270
9.5 思考与练习 271
第10章 MySQL视图 272
10.1 视图概述 272
10.1.1 视图简介 272
10.1.2 视图的优势 273
10.1.3 视图的工作机制 273
10.2 视图的管理 274
10.2.1 创建视图 274
10.2.2 删除视图 276
10.2.3 查看视图 277
10.2.4 修改视图 278
10.3 更新视图 280
10.4 本章小结 281
10.5 思考与练习 281
第11章 MySQL存储过程与自定义
函数 284
11.1 存储过程与自定义函数概述 284
11.1.1 存储过程的概念与优缺点 284
11.1.2 自定义函数的概念与优缺点 285
11.1.3 存储过程和自定义函数的区别 285
11.2 MySQL编程基础 286
11.2.1 MySQL编程中的变量 286
11.2.2 注释、BEGIN…END语句块及
DELIMITER语句 289
11.2.3 流程控制语句 291
11.2.4 异常处理机制 295
11.3 自定义函数的创建与调用 297
11.4 存储过程的创建与调用 297
11.5 游标的声明与使用 302
11.6 系统函数 304
11.6.1 数值函数 304
11.6.2 字符串函数 305
11.6.3 日期和时间函数 306
11.6.4 系统信息函数 307
11.6.5 加密函数 307
11.6.6 类型转换函数 308
11.6.7 控制流函数 308
11.7 本章小结 309
11.8 思考与练习 309
第12章 MySQL触发器与事件
调度器 311
12.1 触发器 311
12.1.1 触发器简介 311
12.1.2 创建和使用触发器 312
12.1.3 查看触发器 317
12.1.4 删除触发器 317
12.1.5 对触发器的进一步说明 318
12.2 事件及事件调度器 318
12.2.1 创建事件 318
12.2.2 修改事件 320
12.2.3 删除事件 321
12.3 本章小结 321
12.4 思考与练习 321
第13章 MySQL权限管理 323
13.1 MySQL权限系统与权限表 323
13.1.1 MySQL权限系统 323
13.1.2 权限表 325
13.2 MySQL用户管理 328
13.2.1 创建与删除用户 328
13.2.2 查看用户 330
13.2.3 修改用户名 331
13.2.4 修改用户密码 331
13.2.5 利用Navicat创建和删除用户 332
13.3 用户权限管理 333
13.3.1 用户权限授权 333
13.3.2 权限的转移和限制 335
13.3.3 权限的撤销 336
13.4 本章小结 336
13.5 思考与练习 336
第14章 MySQL事务与并发控制 339
14.1 事务 339
14.1.1 事务的概念 339
14.1.2 事务的ACID特性 339
14.1.3 MySQL事务控制语句 341
14.2 MySQL的并发控制 343
14.2.1 并发的概述 344
14.2.2 锁的概述 344
14.2.3 MyISAM中的表级锁 346
14.2.4 InnoDB中的行级锁 347
14.2.5 死锁 348
14.3 事务隔离级别 349
14.3.1 MySQL中的4种隔离级别 350
14.3.2 设置4种隔离级别 351
14.4 本章小结 357
14.5 思考与练习 357
第15章 MySQL数据库备份与还原 359
15.1 数据备份 359
15.1.1 常见故障与备份 359
15.1.2 备份的策略与常用方法 360
15.1.3 使用mysqldump命令备份数据 361
15.1.4 直接复制整个数据库目录 363
15.2 数据还原 364
15.2.1 使用mysql命令还原数据 364
15.2.2 直接复制到数据库目录 365
15.3 表数据的导出和导入 365
15.3.1 使用MySQL语句将表数据导出
到文本文件 365
15.3.2 使用MySQL语句将数据从文本
文件中导入列表 366
15.4 数据库迁移 367
15.4.1 MySQL数据库之间的迁移 367
15.4.2 不同数据库之间的迁移 368
15.5 本章小结 368
15.6 思考与练习 368
第16章 MySQL日志管理 370
16.1 MySQL日志 370
16.2 错误日志管理 370
16.2.1 启动错误日志 370
16.2.2 查看错误日志 371
16.2.3 删除错误日志 371
16.3 二进制日志管理 372
16.3.1 启动二进制日志 372
16.3.2 查看二进制日志 372
16.3.3 删除二进制日志 372
16.3.4 使用二进制日志还原数据库 373
16.4 慢查询日志管理 374
16.4.1 启动慢查询日志 374
16.4.2 查看慢查询日志 375
16.4.3 删除慢查询日志 375
16.5 通用查询日志管理 375
16.5.1 启动通用查询日志 375
16.5.2 查看通用查询日志 375
16.5.3 删除通用查询日志 376
16.6 本章小结 376
16.7 思考与练习 376
第17章 分布式数据库与MySQL的
应用 378
17.1 分布式数据库 378
17.1.1 集中式数据库与分布式数据库 379
17.1.2 分布式数据库的基本概念 380
17.1.3 分布式数据库模式结构 381
17.1.4 分布式数据库管理系统 384
17.2 MySQL数据切分技术 386
17.2.1 数据的垂直切分 386
17.2.2 数据的水平切分 387
17.2.3 垂直与水平联合切分的使用 388
17.2.4 数据切分及整合方案 388
17.2.5 自行开发中间代理层 389
17.2.6 垂直切分与水平切分应用举例 390
17.3 MySQL复制技术 390
17.3.1 MySQL复制的概念 390
17.3.2 MySQL复制的优势 391
17.3.3 MySQL复制的实现原理 391
17.3.4 MySQL复制的模式 392
17.4 MySQL集群技术 393
17.4.1 MySQL Cluster的基本概念 393
17.4.2 理解MySQL Cluster的节点 394
17.5 MySQL的缓存机制 394
17.6 本章小结 395
17.7 思考与练习 395
第18章 MySQL在Web开发中的
应用 396
18.1 PHP概述 396
18.1.1 何谓PHP 396
18.1.2 PHP的优点 396
18.1.3 PHP的系统构成 397
18.1.4 PHP结合数据库应用的优势 397
18.2 HTML及其表单 397
18.2.1 HTML基础知识 397
18.2.2 HTML表单元素 398
18.2.3 表单数据的提交 400
18.3 PHP基本语法 401
18.3.1 PHP标记与注释 401
18.3.2 PHP变量 401
18.3.3 PHP数据类型 402
18.3.4 PHP的3种控制结构 406
18.4 条件控制语句 408
18.4.1 if条件控制语句 408
18.4.2 switch多分支语句 410
18.5 循环控制语句 411
18.5.1 while循环语句 411
18.5.2 do…while循环语句 412
18.5.3 for循环语句 413
18.5.4 foreach循环语句 414
18.6 控制结构与跳转语句 414
18.6.1 header()函数 415
18.6.2 exit()和die()函数 415
18.6.3 goto语句 415
18.6.4 break和continue语句 415
18.6.5 return语句 416
18.7 PHP文件间引用跳转 416
18.7.1 include()函数 416
18.7.2 require()函数及其与include()
函数的区别 417
18.7.3 include_once()和require_once()
函数 417
18.8 使用PHP进行MySQL数据库
编程 418
18.8.1 PHP进行MySQL数据库编程的
方法 418
18.8.2 使用PHP操作MySQL数据库 419
18.9 PHP操作数据库的常见问题及
解决方案 427
18.10 本章小结 428
18.11 思考与练习 429
第19章 非关系数据库 431
19.1 非关系数据库概述 431
19.1.1 非关系数据库简介 431
19.1.2 非关系数据库的特点 431
19.1.3 非关系数据库与关系数据库的
比较 431
19.2 非关系数据库的类型及其
特点 433
19.3 非关系数据库选用原则 434
19.4 非关系数据库的理论基础 435
19.5 MongoDB的下载、安装与
操作 436
19.5.1 MongoDB概述 436
19.5.2 MongoDB的逻辑结构 437
19.5.3 MongoDB数据库的下载与
安装 439
19.5.4 使用Navicat 对MongoDB进行
相关操作 445
19.6 基于Python API操作
MongoDB 448
19.7 本章小结 452
19.8 思考与练习 452
参考文献 454
前言
第1章 数据库系统概述 1
1.1 数据与数据管理技术 1
1.1.1 数据库系统的基本概念 1
1.1.2 数据管理技术的发展 7
1.2 数据库系统的特点及组成 10
1.2.1 数据库系统的特点 10
1.2.2 数据库系统的组成 11
1.3 数据库系统结构 13
1.3.1 数据抽象 13
1.3.2 三级模式结构 13
1.3.3 数据库系统体系结构 17
1.4 本章小结 18
1.5 思考与练习 18
第2章 信息与数据模型 21
2.1 信息的3种世界及描述 21
2.2 数据模型 22
2.2.1 数据模型的定义 22
2.2.2 数据处理三层抽象描述 23
2.2.3 数据模型的要素 23
2.2.4 数据模型与数据模式的区别 24
2.3 概念模型 25
2.3.1 基本概念 25
2.3.2 E-R模型 26
2.4 逻辑模型 28
2.4.1 层次模型 28
2.4.2 网状模型 29
2.4.3 关系模型 29
2.4.4 面向对象模型 30
2.5 概念模型向逻辑模型的转换 30
2.6 关系模型 32
2.6.1 关系数据结构 32
2.6.2 关系操作 35
2.6.3 关系的完整性 36
2.7 本章小结 39
2.8 思考与练习 39
第3章 关系代数与关系数据库理论 43
3.1 关系代数及其运算 43
3.1.1 关系中的数学定义 43
3.1.2 关系代数概述 44
3.1.3 传统的集合运算 45
3.1.4 专门的关系运算 47
3.2 关系演算 54
3.2.1 元组关系演算 54
3.2.2 域关系演算 55
3.3 关系代数表达式的优化 56
3.4 关系数据库理论 56
3.4.1 问题的提出 57
3.4.2 函数依赖 58
3.4.3 关系模式的范式及规范化 66
3.5 关系模式的分解 71
3.6 本章小结 77
3.7 思考与练习 77
第4章 数据库设计与实现 81
4.1 数据库设计概述 81
4.1.1 数据库设计的内容 81
4.1.2 数据库设计的特点 82
4.1.3 数据库设计的方法 82
4.1.4 数据库设计的阶段 83
4.2 需求分析 85
4.2.1 需求描述与分析 85
4.2.2 需求分析分类 86
4.2.3 需求分析的内容、方法和步骤 86
4.2.4 数据字典 88
4.3 概念结构设计 90
4.3.1 概念结构设计的必要性及要求 90
4.3.2 概念结构设计的方法与步骤 90
4.3.3 采用E-R模型设计概念结构的
方法 92
4.3.4 数据库建模设计工具 95
4.4 逻辑结构设计 96
4.4.1 E-R模型向关系模型的转换 97
4.4.2 关系模式规范化 97
4.4.3 模式评价与改进 97
4.5 物理结构设计 98
4.5.1 物理结构设计的内容和方法 98
4.5.2 评价物理结构 100
4.6 数据库行为设计 100
4.7 数据库实施 101
4.8 数据库的运行与维护 102
4.9 本章小结 103
4.10 思考与练习 104
第5章 MySQL的安装与使用 108
5.1 MySQL简介 108
5.1.1 MySQL的优势与系统特性 108
5.1.2 MySQL的发行版本与新增亮点 109
5.1.3 MySQL 服务器与端口号 110
5.2 MySQL系统构成与工作流程 110
5.2.1 MySQL系统构成 110
5.2.2 MySQL工作流程 112
5.3 MySQL体系结构 113
5.4 MySQL中的SQL 115
5.4.1 SQL的组成 115
5.4.2 SQL的特点 116
5.4.3 SQL的书写规则 117
5.5 MySQL的安装和使用 118
5.5.1 MySQL的下载与安装 118
5.5.2 MySQL服务的启动和停止 123
5.5.3 MySQL服务器的登录和退出 125
5.5.4 MySQL的卸载 128
5.5.5 MySQL的相关命令 129
5.6 Navicat的安装与使用 129
5.6.1 Navicat的下载与安装 130
5.6.2 Navicat的使用 133
5.6.3 在Navicat中运行SQL语句 139
5.7 本章小结 139
5.8 思考与练习 139
第6章 MySQL存储引擎与数据库
操作 141
6.1 存储引擎 141
6.1.1 概述 141
6.1.2 InnoDB存储引擎 143
6.1.3 MyISAM存储引擎 144
6.1.4 MEMORY存储引擎 144
6.1.5 MERGE存储引擎 144
6.1.6 其他存储引擎 145
6.1.7 存储引擎的选择 145
6.2 字符集与校对规则 146
6.2.1 概述 146
6.2.2 MySQL支持的字符集与校对
规则 146
6.2.3 MySQL字符集的选择 147
6.2.4 MySQL字符集与校对规则的
设置 148
6.3 数据库的操作 150
6.3.1 MySQL数据库的构成 150
6.3.2 创建数据库 151
6.3.3 选择数据库 153
6.3.4 修改数据库名称 154
6.3.5 删除数据库 154
6.4 本章小结 155
6.5 思考与练习 155
第7章 MySQL表定义与完整性
约束控制 157
7.1 表的基本概念 157
7.2 数据类型 157
7.2.1 数值类型 158
7.2.2 日期时间类型 159
7.2.3 字符串类型 159
7.2.4 复合类型 160
7.2.5 二进制类型 160
7.2.6 JSON类型 160
7.2.7 选择合适的数据类型 161
7.3 运算符 162
7.3.1 算术运算符 162
7.3.2 比较运算符 162
7.3.3 逻辑运算符 163
7.4 数据表的操作管理 163
7.4.1 创建数据表 163
7.4.2 查看数据表 165
7.4.3 修改数据表 166
7.4.4 复制数据表 176
7.4.5 删除数据表 177
7.4.6 表管理中的注意事项 178
7.5 MySQL约束控制定义与管理 178
7.5.1 主键约束的添加与删除 179
7.5.2 唯一约束的添加与删除 184
7.5.3 非空约束的添加与删除 189
7.5.4 默认约束的添加与删除 192
7.5.5 自增约束的添加与删除 194
7.5.6 外键约束的添加与删除 197
7.5.7 检查约束设置 202
7.6 本章小结 202
7.7 思考与练习 202
第8章 MySQL数据操作管理 205
8.1 插入数据 205
8.1.1 为所有字段插入数据 205
8.1.2 为指定字段插入数据 206
8.1.3 使用SET方式为字段插入数据 207
8.1.4 同时插入多条记录 209
8.1.5 插入SELECT语句的查询结果 210
8.1.6 主键冲突解决方法 211
8.1.7 MySQL 8.0新特性:JSON类型
数据存储 213
8.2 修改数据 214
8.3 删除数据 215
8.3.1 使用DELETE删除表数据 215
8.3.2 使用TRUNCATE清空表数据 216
8.4 单表查询 217
8.4.1 SELECT语法结构 217
8.4.2 简单查询 218
8.4.3 条件查询 224
8.4.4 分组查询 231
8.4.5 排序与限制行数 238
8.4.6 窗口函数查询 240
8.5 多表关联查询 242
8.5.1 内连接查询 243
8.5.2 外连接查询 245
8.5.3 嵌套子查询 246
8.5.4 合并查询 252
8.6 MySQL 8.0新特性:通用
表达式 252
8.7 本章小结 254
8.8 思考与练习 254
第9章 MySQL索引 259
9.1 索引概述 259
9.1.1 索引简介 259
9.1.2 索引的特点 259
9.1.3 索引的分类 260
9.2 索引的管理 261
9.2.1 创建索引 261
9.2.2 查看索引 267
9.2.3 删除索引 268
9.3 索引的设计原则、合理定义和
正确使用 269
9.4 本章小结 270
9.5 思考与练习 271
第10章 MySQL视图 272
10.1 视图概述 272
10.1.1 视图简介 272
10.1.2 视图的优势 273
10.1.3 视图的工作机制 273
10.2 视图的管理 274
10.2.1 创建视图 274
10.2.2 删除视图 276
10.2.3 查看视图 277
10.2.4 修改视图 278
10.3 更新视图 280
10.4 本章小结 281
10.5 思考与练习 281
第11章 MySQL存储过程与自定义
函数 284
11.1 存储过程与自定义函数概述 284
11.1.1 存储过程的概念与优缺点 284
11.1.2 自定义函数的概念与优缺点 285
11.1.3 存储过程和自定义函数的区别 285
11.2 MySQL编程基础 286
11.2.1 MySQL编程中的变量 286
11.2.2 注释、BEGIN…END语句块及
DELIMITER语句 289
11.2.3 流程控制语句 291
11.2.4 异常处理机制 295
11.3 自定义函数的创建与调用 297
11.4 存储过程的创建与调用 297
11.5 游标的声明与使用 302
11.6 系统函数 304
11.6.1 数值函数 304
11.6.2 字符串函数 305
11.6.3 日期和时间函数 306
11.6.4 系统信息函数 307
11.6.5 加密函数 307
11.6.6 类型转换函数 308
11.6.7 控制流函数 308
11.7 本章小结 309
11.8 思考与练习 309
第12章 MySQL触发器与事件
调度器 311
12.1 触发器 311
12.1.1 触发器简介 311
12.1.2 创建和使用触发器 312
12.1.3 查看触发器 317
12.1.4 删除触发器 317
12.1.5 对触发器的进一步说明 318
12.2 事件及事件调度器 318
12.2.1 创建事件 318
12.2.2 修改事件 320
12.2.3 删除事件 321
12.3 本章小结 321
12.4 思考与练习 321
第13章 MySQL权限管理 323
13.1 MySQL权限系统与权限表 323
13.1.1 MySQL权限系统 323
13.1.2 权限表 325
13.2 MySQL用户管理 328
13.2.1 创建与删除用户 328
13.2.2 查看用户 330
13.2.3 修改用户名 331
13.2.4 修改用户密码 331
13.2.5 利用Navicat创建和删除用户 332
13.3 用户权限管理 333
13.3.1 用户权限授权 333
13.3.2 权限的转移和限制 335
13.3.3 权限的撤销 336
13.4 本章小结 336
13.5 思考与练习 336
第14章 MySQL事务与并发控制 339
14.1 事务 339
14.1.1 事务的概念 339
14.1.2 事务的ACID特性 339
14.1.3 MySQL事务控制语句 341
14.2 MySQL的并发控制 343
14.2.1 并发的概述 344
14.2.2 锁的概述 344
14.2.3 MyISAM中的表级锁 346
14.2.4 InnoDB中的行级锁 347
14.2.5 死锁 348
14.3 事务隔离级别 349
14.3.1 MySQL中的4种隔离级别 350
14.3.2 设置4种隔离级别 351
14.4 本章小结 357
14.5 思考与练习 357
第15章 MySQL数据库备份与还原 359
15.1 数据备份 359
15.1.1 常见故障与备份 359
15.1.2 备份的策略与常用方法 360
15.1.3 使用mysqldump命令备份数据 361
15.1.4 直接复制整个数据库目录 363
15.2 数据还原 364
15.2.1 使用mysql命令还原数据 364
15.2.2 直接复制到数据库目录 365
15.3 表数据的导出和导入 365
15.3.1 使用MySQL语句将表数据导出
到文本文件 365
15.3.2 使用MySQL语句将数据从文本
文件中导入列表 366
15.4 数据库迁移 367
15.4.1 MySQL数据库之间的迁移 367
15.4.2 不同数据库之间的迁移 368
15.5 本章小结 368
15.6 思考与练习 368
第16章 MySQL日志管理 370
16.1 MySQL日志 370
16.2 错误日志管理 370
16.2.1 启动错误日志 370
16.2.2 查看错误日志 371
16.2.3 删除错误日志 371
16.3 二进制日志管理 372
16.3.1 启动二进制日志 372
16.3.2 查看二进制日志 372
16.3.3 删除二进制日志 372
16.3.4 使用二进制日志还原数据库 373
16.4 慢查询日志管理 374
16.4.1 启动慢查询日志 374
16.4.2 查看慢查询日志 375
16.4.3 删除慢查询日志 375
16.5 通用查询日志管理 375
16.5.1 启动通用查询日志 375
16.5.2 查看通用查询日志 375
16.5.3 删除通用查询日志 376
16.6 本章小结 376
16.7 思考与练习 376
第17章 分布式数据库与MySQL的
应用 378
17.1 分布式数据库 378
17.1.1 集中式数据库与分布式数据库 379
17.1.2 分布式数据库的基本概念 380
17.1.3 分布式数据库模式结构 381
17.1.4 分布式数据库管理系统 384
17.2 MySQL数据切分技术 386
17.2.1 数据的垂直切分 386
17.2.2 数据的水平切分 387
17.2.3 垂直与水平联合切分的使用 388
17.2.4 数据切分及整合方案 388
17.2.5 自行开发中间代理层 389
17.2.6 垂直切分与水平切分应用举例 390
17.3 MySQL复制技术 390
17.3.1 MySQL复制的概念 390
17.3.2 MySQL复制的优势 391
17.3.3 MySQL复制的实现原理 391
17.3.4 MySQL复制的模式 392
17.4 MySQL集群技术 393
17.4.1 MySQL Cluster的基本概念 393
17.4.2 理解MySQL Cluster的节点 394
17.5 MySQL的缓存机制 394
17.6 本章小结 395
17.7 思考与练习 395
第18章 MySQL在Web开发中的
应用 396
18.1 PHP概述 396
18.1.1 何谓PHP 396
18.1.2 PHP的优点 396
18.1.3 PHP的系统构成 397
18.1.4 PHP结合数据库应用的优势 397
18.2 HTML及其表单 397
18.2.1 HTML基础知识 397
18.2.2 HTML表单元素 398
18.2.3 表单数据的提交 400
18.3 PHP基本语法 401
18.3.1 PHP标记与注释 401
18.3.2 PHP变量 401
18.3.3 PHP数据类型 402
18.3.4 PHP的3种控制结构 406
18.4 条件控制语句 408
18.4.1 if条件控制语句 408
18.4.2 switch多分支语句 410
18.5 循环控制语句 411
18.5.1 while循环语句 411
18.5.2 do…while循环语句 412
18.5.3 for循环语句 413
18.5.4 foreach循环语句 414
18.6 控制结构与跳转语句 414
18.6.1 header()函数 415
18.6.2 exit()和die()函数 415
18.6.3 goto语句 415
18.6.4 break和continue语句 415
18.6.5 return语句 416
18.7 PHP文件间引用跳转 416
18.7.1 include()函数 416
18.7.2 require()函数及其与include()
函数的区别 417
18.7.3 include_once()和require_once()
函数 417
18.8 使用PHP进行MySQL数据库
编程 418
18.8.1 PHP进行MySQL数据库编程的
方法 418
18.8.2 使用PHP操作MySQL数据库 419
18.9 PHP操作数据库的常见问题及
解决方案 427
18.10 本章小结 428
18.11 思考与练习 429
第19章 非关系数据库 431
19.1 非关系数据库概述 431
19.1.1 非关系数据库简介 431
19.1.2 非关系数据库的特点 431
19.1.3 非关系数据库与关系数据库的
比较 431
19.2 非关系数据库的类型及其
特点 433
19.3 非关系数据库选用原则 434
19.4 非关系数据库的理论基础 435
19.5 MongoDB的下载、安装与
操作 436
19.5.1 MongoDB概述 436
19.5.2 MongoDB的逻辑结构 437
19.5.3 MongoDB数据库的下载与
安装 439
19.5.4 使用Navicat 对MongoDB进行
相关操作 445
19.6 基于Python API操作
MongoDB 448
19.7 本章小结 452
19.8 思考与练习 452
参考文献 454















