第1篇 MySQL数据库基础篇
第1章 数据库概述
1.1 关于数据库的基本概念 1
1.1.1 数据管理技术的发展阶段 1
1.1.2 数据库系统阶段涉及的概念 2
1.1.3 数据库技术经历的阶段 2
1.1.4 数据库管理系统提供的功能 3
1.1.5 什么是SQL 3
1.2 MySQL数据库管理系统 4
1.2.1 MySQL与开源文化 4
1.2.2 MySQL发展历史 4
1.2.3 常见数据库管理系统 6
1.2.4 为什么要使用MySQL数据库 6
1.3 小结 7
第2章 MySQL安装和配置
第1篇 MySQL数据库基础篇
第1章 数据库概述
1.1 关于数据库的基本概念 1
1.1.1 数据管理技术的发展阶段 1
1.1.2 数据库系统阶段涉及的概念 2
1.1.3 数据库技术经历的阶段 2
1.1.4 数据库管理系统提供的功能 3
1.1.5 什么是SQL 3
1.2 MySQL数据库管理系统 4
1.2.1 MySQL与开源文化 4
1.2.2 MySQL发展历史 4
1.2.3 常见数据库管理系统 6
1.2.4 为什么要使用MySQL数据库 6
1.3 小结 7
第2章 MySQL安装和配置
2.1 下载和安装MySQL软件 8
2.1.1 基于客户端――服务器(C/S)的数据库管理系统 8
2.1.2 MySQL的各种版本 9
2.1.3 下载MySQL软件 9
2.1.4 安装MySQL软件 11
2.1.5 图形化配置数据库服务器MySQL 13
2.1.6 手动配置数据库服务器MySQL 16
2.1.7 卸载MySQL软件 19
2.2 关于MySQL软件的常用操作 20
2.2.1 通过图形界面启动和关闭MySQL服务 20
2.2.2 通过DOS窗口启动和关闭MySQL服务 22
2.3 MySQL官方客户端软件 23
2.3.1 命令行客户端软件――MySQL Command Line Client 24
2.3.2 通过DOS窗口连接MySQL软件 25
2.3.3 下载MySQL-Workbench客户端软件 27
2.3.4 安装MySQL-Workbench客户端软件 28
2.3.5 使用MySQL-Workbench客户端软件 29
2.4 MySQL常用图形化管理软件――SQLyog软件 31
2.4.1 下载SQLyog软件 31
2.4.2 安装SQLyog客户端软件 32
2.4.3 通过SQLyog客户端软件登录MySQL软件 34
2.5 使用免安装的MySQL软件 34
2.6 小结 36
第2篇 MySQL数据库操作和应用篇
第3章 MySQL数据库基本操作
3.1 数据库和数据库对象 37
3.2 数据库相关操作――创建数据库 38
3.2.1 创建数据库的语法形式 38
3.2.2 通过工具来创建数据库 39
3.3 数据库相关操作――查看和选择数据库 41
3.3.1 查看数据库 41
3.3.2 选择数据库 42
3.4 数据库相关操作――删除数据库 43
3.4.1 删除数据库的语法形式 43
3.4.2 通过工具来删除数据库 44
3.5 小结 46
第4章 MySQL数据库中存储引擎和数据类型
4.1 认识存储引擎 47
4.1.1 MySQL 5.5所支持的存储引擎 47
4.1.2 操作默认存储引擎 50
4.1.3 选择存储引擎 52
4.2 数据类型 53
4.2.1 整数类型 53
4.2.2 浮点数类型、定点数类型和位类型 56
4.2.3 日期和时间类型 57
4.2.4 字符串类型 59
4.3 小结 61
第5章 表的操作
5.1 表的基本概念 62
5.2 创建表 63
5.2.1 创建表的语法形式 63
5.2.2 通过SQLyog客户端软件来创建表 64
5.3 查看表结构 66
5.3.1 DESCRIBE语句查看表定义 66
5.3.2 SHOW CREATE TABLE语句查看表详细定义 67
5.3.3 通过SQLyog软件来查看表信息 67
5.4 删除表 68
5.4.1 删除表的语法形式 69
5.4.2 通过SQLyog软件删除表 69
5.5 修改表 70
5.5.1 修改表名 70
5.5.2 增加字段 71
5.5.3 删除字段 75
5.5.4 修改字段 76
5.6 操作表的约束 80
5.6.1 MySQL支持的完整性约束 81
5.6.2 设置非空约束(NOT NULL,NK) 81
5.6.3 设置字段的默认值(DEFAULT) 82
5.6.4 设置**约束(UNIQUE,UK) 84
5.6.5 设置主键约束(PRIMARY KEY,PK) 85
5.6.6 设置字段值自动增加(AUTO_INCREMENT) 88
5.6.7 设置外键约束(FOREIGN KEY,FK) 89
5.7 小结 91
第6章 索引的操作
6.1 为什么使用索引 92
6.2 创建和查看索引 93
6.2.1 创建和查看普通索引 93
6.2.2 创建和查看**索引 97
6.2.3 创建和查看全文索引 101
6.2.4 创建和查看多列索引 104
6.2.5 通过SQLyog客户端软件来创建索引 108
6.3 删除索引 112
6.3.1 删除索引的语法形式 112
6.3.2 通过SQLyog软件删除索引 113
6.4 小结 114
第7章 视图的操作
7.1 为什么使用视图 115
7.2 创建视图 116
7.2.1 创建视图的语法形式 116
7.2.2 通过SQLyog软件创建视图 117
7.2.3 创建各种视图 118
7.3 查看视图 122
7.3.1 SHOW TABLES语句查看视图名 122
7.3.2 SHOW TABLE STATUS语句查看视图详细信息 122
7.3.3 SHOW CREATE VIEW语句查看视图定义信息 124
7.3.4 DESCRIBE|DESC语句查看视图设计信息 125
7.3.5 通过系统表查看视图信息 125
7.3.6 SQLyog查看视图信息 126
7.4 删除视图 128
7.4.1 删除视图的语法形式 128
7.4.2 通过SQLyog软件删除视图 129
7.5 修改视图 130
7.5.1 CREATE OR REPLACE VIEW语句修改视图 130
7.5.2 ALTER语句修改视图 132
7.5.3 通过SQLyog软件修改视图 133
7.6 利用视图操作基本表 135
7.6.1 检索(查询)数据 135
7.6.2 利用视图操作基本表数据 136
7.7 小结 137
第8章 触发器的操作
8.1 为什么使用触发器 138
8.2 创建触发器 139
8.2.1 创建有一条执行语句的触发器 139
8.2.2 创建包含多条执行语句的触发器 141
8.2.3 通过SQLyog客户端软件来创建触发器 142
8.3 查看触发器 144
8.3.1 通过SHOW TRIGGERS语句查看触发器 144
8.3.2 通过查看系统表triggers实现查看触发器 145
8.3.3 通过SQLyog客户端软件来查看触发器 147
8.4 删除触发器 148
8.4.1 通过DROP TRIGGER语句删除触发器 149
8.4.2 通过工具来删除触发器 149
8.5 小结 150
第9章 数据的操作
9.1 插入数据记录 151
9.1.1 插入完整数据记录 151
9.1.2 插入数据记录一部分 153
9.1.3 插入多条数据记录 156
9.1.4 插入查询结果 159
9.1.5 通过工具来插入数据记录 161
9.2 更新数据记录 163
9.2.1 更新特定数据记录 164
9.2.2 更新所有数据记录 165
9.2.3 通过工具来更新数据记录 167
9.3 删除数据记录 169
9.3.1 删除特定数据记录 169
9.3.2 删除所有数据记录 170
9.3.3 通过工具来删除数据记录 172
9.4 小结 174
第10章 单表数据记录查询
10.1 简单数据记录查询 175
10.1.1 简单数据查询 176
10.1.2 避免重复数据查询――DISTINCT 179
10.1.3 实现数学四则运算数据查询 180
10.1.4 设置显示格式数据查询 182
10.2 条件数据记录查询 183
10.2.1 带关系运算符和逻辑运算符的条件数据查询 183
10.2.2 带BETWEEN AND关键字的范围查询 186
10.2.3 带IS NULL关键字的空值查询 187
10.2.4 带IN关键字的集合查询 189
10.2.5 带LIKE关键字的模糊查询 192
10.3 排序数据记录查询 197
10.3.1 按照单字段排序 198
10.3.2 按照多字段排序 200
10.4 限制数据记录查询数量 201
10.4.1 不指定初始位置 202
10.4.2 指定初始位置 203
10.5 统计函数和分组数据记录查询 205
10.5.1 MySQL支持的统计函数 206
10.5.2 关于统计函数注意点 212
10.5.3 分组数据查询――简单分组查询 213
10.5.4 分组数据查询――实现统计功能分组查询 215
10.5.5 分组数据查询――实现多个字段分组查询 216
10.5.6 分组数据查询――实现HAVING子句限定分组查询 218
10.6 小结 220
第11章 多表数据记录查询
11.1 关系数据操作 221
11.1.1 并(UNION) 221
11.1.2 笛卡儿积(CARTESIAN PRODUCT) 222
11.1.3 内连接(INNER JOIN) 223
11.1.4 外连接(OUTER JOIN) 225
11.2 内连接查询 227
11.2.1 自连接 228
11.2.2 等值连接 230
11.2.3 不等连接 234
11.3 外连接查询 236
11.3.1 左外连接 237
11.3.2 右外连接 238
11.4 合并查询数据记录 240
11.5 子查询 242
11.5.1 为什么使用子查询 243
11.5.2 返回结果为单行单列和单行多列子查询 243
11.5.3 返回结果为多行单列子查询 246
11.5.4 返回结果为多行多列子查询 252
11.6 小结 254
第 12章 使用MySQL运算符
12.1 为什么要使用运算符 255
12.2 使用算术运算符 255
12.3 使用比较运算符 257
12.3.1 常用比较运算符 258
12.3.2 实现特殊功能比较运算符 260
12.4 使用逻辑运算符 263
12.5 使用位运算符 266
12.6 小结 269
第 13章 使用MySQL常用函数
13.1 使用字符串函数 270
13.1.1 合并字符串函数CONCAT()和CONCAT_WS() 271
13.1.2 比较字符串大小函数STRCMP() 273
13.1.3 获取字符串长度函数LENGTH()和字符数函数CHAR_LENGTH() 273
13.1.4 实现字母大小写转换函数UPPER()和字符数函数LOWER() 275
13.1.5 查找字符串 276
13.1.6 从现有字符串中截取子字符串 279
13.1.7 去除字符串的首尾空格 280
13.1.8 替换字符串 282
13.2 使用数值函数 284
13.2.1 获取随机数 284
13.2.2 获取整数的函数 285
13.2.3 截取数值函数 286
13.2.4 四舍五入函数 286
13.3 使用日期和时间函数 287
13.3.1 获取当前日期和时间的函数 287
13.3.2 通过各种方式显示日期和时间 289
13.3.3 获取日期和时间各部分值 291
13.3.4 计算日期和时间的函数 294
13.4 使用系统信息函数 297
13.4.1 获取MySQL系统信息 298
13.4.2 获取AUTO_INCREMENT约束的zui后ID值 298
13.4.3 其他函数 299
13.5 小结 300
第 14章 存储过程和函数的操作
14.1 为什么使用存储过程和函数 301
14.2 创建存储过程和函数 302
14.2.1 创建存储过程语法形式 302
14.2.2 创建函数语法形式 303
14.2.3 创建简单的存储过程和函数 304
14.2.4 通过工具来创建存储过程和函数 305
14.3 关于存储过程和函数的表达式 309
14.3.1 操作变量 309
14.3.2 操作条件 310
14.3.3 使用游标 311
14.3.4 使用流程控制 315
14.4 修改存储过程和函数 316
14.4.1 修改存储过程 317
14.4.2 修改函数 318
14.5 删除存储过程和函数 318
14.5.1 通过DROP语句删除存储过程 318
14.5.2 通过DROP FUNCTION语句删除函数 319
14.5.3 通过工具来删除存储过程和函数 320
14.6 小结 322
第 15章 MySQL事务
15.1 事务概述 323
15.2 MySQL事务控制语句 324
15.3 MySQL事务隔离级别 326
15.3.1 READ-UNCOMMITTED(读取未提交内容) 327
15.3.2 READ-COMMITTED(读取提交内容) 328
15.3.3 REPEATABLE-READ(可重读) 329
15.3.4 Serializable(可串行化) 330
15.4 InnoDB锁机制 333
15.4.1 锁的类型 333
15.4.2 锁粒度 334
15.5 小结 336
第3篇 MySQL数据库管理篇
第 16章 MySQL安全性机制
16.1 MySQL软件所提供的权限 337
16.1.1 系统表mysql.user 337
16.1.2 系统表mysql.db和mysql.host 339
16.1.3 其他权限表 340
16.2 MySQL软件所提供的用户机制 343
16.2.1 登录和退出MySQL软件的完整命令 344
16.2.2 创建普通用户账户 346
16.2.3 利用拥有超级权限用户root修改用户账户密码 349
16.2.4 利用拥有超级权限用户root修改普通用户账户密码 353
16.2.5 删除普通用户账号 359
16.3 小结 361
第 17章 MySQL日志管理
17.1 MySQL软件所支持的日志 362
17.2 操作二进制日志 363
17.2.1 启动二进制日志 363
17.2.2 查看二进制日志 364
17.2.3 停止二进制日志 366
17.2.4 删除二进制日志 366
17.3 操作错误日志 368
17.3.1 启动错误日志 368
17.3.2 查看错误日志 369
17.3.3 删除错误日志 369
17.4 通用查询日志 369
17.4.1 启动通用查询日志 370
17.4.2 查看通用查询日志 370
17.4.3 停止通用查询日志 371
17.4.4 删除通用查询日志 371
17.5 慢查询日志 372
17.5.1 启动慢查询日志 372
17.5.2 查看慢查询日志 373
17.5.3 分析慢查询日志 373
17.5.4 停止慢查询日志 374
17.5.5 删除慢查询日志 374
17.6 小结 374
第 18章 MySQL数据库维护和性能提高
18.1 MySQL数据库维护 375
18.1.1 通过复制数据文件实现数据备份 375
18.1.2 通过命令mysqldump实现数据备份 376
18.1.3 通过复制数据文件实现数据还原 381
18.1.4 通过命令mysql实现数据还原 381
18.1.5 实现数据库表导出到文本文件 384
18.1.6 实现文本文件导入数据库表 388
18.1.7 数据库迁移 391
18.2 MySQL数据库性能优化 392
18.3 小结 393
第4篇 MySQL数据库实践篇
第 19章 Java MySQL案例实战――在线书城
19.1 Java连接MySQL的常见方法 394
19.1.1 JDBC连接MySQL数据库的理论机制 394
19.1.2 提交和回滚事务 396
19.1.3 把Java操作MySQL数据库的操作封装成一个工具类 396
19.2 在线书城的数据设计 398
19.2.1 设计商品的表结构 398
19.2.2 设计订单的表结构 398
19.3 商品数据的增删改查操作 399
19.3.1 分页显示商品列表 399
19.3.2 新增商品明细 401
19.3.3 修改商品信息 402
19.3.4 删除商品 403
19.4 购物车和订单 403
19.4.1 购物车的设计及操作 403
19.4.2 提交订单 405
19.4.3 订单列表及其明细 406
19.5 小结 408
第 20章 PHP MySQL案例实战――智能考试系统
20.1 系统分析 409
20.2 准备工作 410
20.2.1 设计数据表 410
20.2.2 创建配置文件 410
20.2.3 创建安装文件 411
20.3 用户注册与登录 412
20.3.1 用户注册 413
20.3.2 用户登录 414
20.4 首页 415
20.4.1 首页 415
20.4.2 检查管理员 416
20.5 管理模块 416
20.5.1 显示所有题目 417
20.5.2 添加题目 418
20.5.3 显示题目详情 420
20.5.4 编辑题目 421
20.5.5 删除题目 424
20.6 用户模块 425
20.6.1 考试页面 425
20.6.2 查看历史考试记录 428
20.6.3 更改密码 429
20.6.4 退出登录 431
20.7 功能改进 431
20.8 小结 431
附录篇(光盘中)
注:以下内容请读者在附赠光盘中学习使用
附录A 通过SQLyog客户端软件修改表
附录A.1 修改表名 432
附录A.2 增加字段 433
附录A.3 删除字段 435
附录A.4 修改字段 437
附录B 查看存储过程和函数
附录B.1 通过SHOW PROCEDURE STATUS语句 查看存储过程状态信息 442
附录B.2 通过SHOW FUNCTION STATUS语句查看函数状态信息 443
附录B.3 通过查看系统表information_schema.routines实现 查看存储过程和函数的信息 444
附录B.4 通过SHOW CREATE PROCEDURE语句 查看存储过程定义信息 448
附录B.5 通过SHOW CREATE FUNCTION语句 查看函数定义信息 448
附录B.6 通过工具来查看存储过程和函数 449
附录C 权限管理
附录C.1 对用户进行授权 452
附录C.2 查看用户所拥有权限 455
附录C.3 收回用户所拥有权限 456
附录D 通过SQLyog客户端软件实现数据库维护
附录D.1 通过SQLyog客户端软件进行备份操作 459
附录D.2 通过SQLyog客户端软件进行还原操作 462
附录D.3 通过SQLyog客户端软件进行导出操作 464
附录D.4 通过SQLyog客户端软件进行导入操作 465
附录E 使用PowerDesigner进行数据库设计
附录E.1 下载和安装PowerDesigner软件 467
附录E.1.1 下载PowerDesigner软件 467
附录E.1.2 安装PowerDesigner软件 469
附录E.2 使用PowerDesigner软件进行数据库设计 471
附录E.2.1 利用PowerDesigner软件设计概念数据模型 471
附录E.2.2 利用PowerDesigner软件设计物理数据模型 480
附录E.2.3 利用PowerDesigner软件创建数据库脚本 481
附录E.3 小 结 484