第1章 数据库入门 1
1.1 数据库基础知识 1
1.1.1 数据库概述 1
1.1.2 数据库技术的发展 2
1.1.3 三级模式和二级映像 3
1.1.4 数据模型 6
1.1.5 关系运算 10
1.1.6 SQL语言 12
1.1.7 常见的数据库产品 14
1.2 MySQL安装与配置 15
1.2.1 获取MySQL 15
1.2.2 安装MySQL 17
1.2.3 配置MySQL 19
1.2.4 管理MySQL服务 19
1.2.5 用户登录与设置密码 21
1.2.6 MySQL客户端的相关命令 22
1.3 常用图形化工具 24
1.3.1 SQLyog 24
1.3.2 Navicat 26
1.4 本章小结 27
1.5 课后练习 27
第2章 数据库基本操作 29
2.1 数据库操作 29
2.1.1 创建数据库 29
2.1.2 查看数据库 30
2.1.3 选择数据库 31
2.1.4 删除数据库 32
2.2 数据表操作 33
2.2.1 创建数据表 34
2.2.2 查看数据表 35
2.2.3 修改数据表 37
2.2.4 查看表结构 38
2.2.5 修改表结构 40
2.2.6 删除数据表 43
2.3 数据操作 44
2.3.1 添加数据 44
2.3.2 查询数据 46
2.3.3 修改数据 48
2.3.4 删除数据 48
2.4 动手实践:电子杂志订阅表的操作 49
2.5 本章小结 51
2.6 课后练习 52
第3章 数据类型与约束 54
3.1 数据类型 54
3.1.1 数字类型 54
3.1.2 时间和日期类型 60
3.1.3 字符串类型 63
3.2 表的约束 68
3.2.1 默认约束 69
3.2.2 非空约束 70
3.2.3 唯一约束 71
3.2.4 主键约束 74
3.3 自动增长 76
3.4 字符集与校对集 78
3.4.1 字符集与校对集概述 78
3.4.2 字符集与校对集的设置 80
3.5 动手实践:设计用户表 82
3.6 本章小结 84
3.7 课后练习 84
第4章 数据库设计 86
4.1 数据库设计概述 86
4.2 数据库设计范式 87
4.3 数据建模工具 91
4.4 数据库设计——电子商务网站 93
4.4.1 需求分析 93
4.4.2 准备工作 95
4.4.3 商品分类表 96
4.4.4 商品表 97
4.4.5 商品规格表 100
4.4.6 商品属性表 103
4.4.7 用户表 106
4.4.8 评论表 108
4.5 动手实践:商品购物流程设计 109
4.6 本章小结 114
4.7 课后练习 114
第5章 单表操作 116
5.1 数据操作 116
5.1.1 复制表结构和数据 116
5.1.2 解决主键冲突 118
5.1.3 清空数据 119
5.1.4 去除重复记录 121
5.2 排序与限量 122
5.2.1 排序 122
5.2.2 限量 124
5.3 分组与聚合函数 126
5.3.1 分组 126
5.3.2 聚合函数 132
5.4 运算符 133
5.4.1 算术运算符 133
5.4.2 比较运算符 139
5.4.3 逻辑运算符 144
5.4.4 赋值运算符 146
5.4.5 位运算符 147
5.4.6 运算符优先级 149
5.5 动手实践:商品评论表的操作 150
5.6 本章小结 153
5.7 课后练习 153
第6章 多表操作 155
6.1 多表查询 155
6.1.1 联合查询 155
6.1.2 连接查询 157
6.2 子查询 162
6.2.1 什么是子查询 162
6.2.2 子查询分类 162
6.2.3 子查询关键字 165
6.3 外键约束 168
6.3.1 添加外键约束 168
6.3.2 关联表操作 170
6.3.3 删除外键约束 172
6.4 动手实践:多表查询练习 174
6.5 本章小结 176
6.6 课后练习 176
第7章 用户与权限 178
7.1 用户与权限概述 178
7.2 用户管理 182
7.2.1 创建用户 182
7.2.2 设置密码 186
7.2.3 修改用户 188
7.2.4 删除用户 190
7.3 权限管理 190
7.3.1 授予权限 190
7.3.2 回收权限 195
7.3.3 刷新权限 196
7.4 动手实践:用户与权限练习 196
7.5 本章小结 198
7.6 课后练习 198
第8章 视图 200
8.1 初识视图 200
8.1.1 视图的概念和使用 200
8.1.2 创建视图的语法格式 202
8.2 视图管理 203
8.2.1 创建视图 203
8.2.2 查看视图 205
8.2.3 修改视图 206
8.2.4 删除视图 207
8.3 视图数据操作 208
8.3.1 添加数据 208
8.3.2 修改数据 209
8.3.3 删除数据 209
8.3.4 视图检查条件 209
8.4 动手实践:视图的应用 210
8.5 本章小结 212
8.6 课后练习 212
第9章 事务 214
9.1 事务处理 214
9.1.1 事务的概念 214
9.1.2 事务的基本操作 215
9.1.3 事务的保存点 217
9.2 事务隔离级别 219
9.2.1 查看隔离级别 219
9.2.2 修改隔离级别 220
9.2.3 MySQL的4种隔离级别 221
9.3 动手实践:事务的应用 227
9.4 本章小结 228
9.5 课后练习 228
第10章 数据库编程 230
10.1 函数 230
10.1.1 内置函数 230
10.1.2 自定义函数 247
10.2 存储过程 250
10.2.1 存储过程的概念 250
10.2.2 存储过程的创建与执行 250
10.2.3 存储过程的修改与删除 252
10.2.4 存储过程的错误处理 254
10.3 变量 256
10.3.1 系统变量 256
10.3.2 会话变量 258
10.3.3 局部变量 259
10.4 流程控制 260
10.4.1 判断语句 260
10.4.2 循环语句 264
10.4.3 跳转语句 267
10.5 游标 268
10.5.1 游标的作用 268
10.5.2 游标的操作流程 268
10.5.3 使用游标检索数据 269
10.6 触发器 271
10.6.1 触发器的概述 271
10.6.2 触发器的基本操作 271
10.7 事件 275
10.7.1 事件的概述 275
10.7.2 事件的基本操作 275
10.8 预处理SQL语句 279
10.9 动手实践:数据库编程实战 281
10.10 本章小结 283
10.11 课后练习 283
第11章 数据库优化 285
11.1 存储引擎 285
11.1.1 什么是存储引擎 285
11.1.2 存储引擎的选择 285
11.1.3 InnoDB存储引擎 287
11.1.4 MyISAM存储引擎 289
11.2 索引 290
11.2.1 索引概述 290
11.2.2 索引的基本操作 291
11.2.3 索引的使用原则 297
11.3 锁机制 299
11.3.1 认识锁机制 299
11.3.2 表级锁 300
11.3.3 行级锁 303
11.4 分表技术 307
11.5 分区技术 308
11.5.1 分区概述 308
11.5.2 分区管理 309
11.6 数据碎片与维护 313
11.7 动手实践:数据库优化实战 315
11.8 本章小结 321
11.9 课后练习 322
第12章 数据库配置与部署 324
12.1 Linux环境安装MySQL 324
12.1.1 Linux环境搭建 324
12.1.2 用yum安装MySQL 327
12.1.3 编译安装MySQL 331
12.2 MySQL配置文件 336
12.2.1 配置区段 336
12.2.2 基本配置 336
12.2.3 内存和优化配置 337
12.2.4 日志配置 338
12.3 数据备份与还原 339
12.3.1 数据备份 339
12.3.2 数据还原 341
12.3.3 二进制日志 342
12.4 多实例部署 345
12.5 主从复制 347
12.6 动手实践:组复制 350
12.7 本章小结 355
12.8 课后练习 355