目录
目录
第1章MySQL数据库入门1
1.1初识数据库1
1.1.1数据库概述1
1.1.2数据管理技术的
发展2
1.1.3数据库系统的结构4
1.2数据模型6
1.2.1数据模型概述6
1.2.2概念数据模型8
1.2.3逻辑数据模型9
1.3关系数据库9
1.3.1关系模型的数据
结构10
1.3.2关系模型的完整性
约束11
1.3.3关系运算12
1.3.4SQL简介15
1.4常见的数据库产品17
1.4.1常见的关系数据
库产品17
1.4.2常见的非关系
数据库产品18
1.5MySQL安装与配置19
1.6SQLyog图形化工具19
1.7本章小结21
第2章MySQL的基本操作22
2.1数据库操作22
2.1.1创建数据库22
2.1.2查看数据库23
2.1.3修改数据库25
2.1.4选择数据库26
2.1.5删除数据库27
2.2数据表操作27
2.2.1创建数据表28
2.2.2查看数据表29
2.2.3查看表结构32
2.2.4修改数据表33
2.2.5删除数据表39
2.3数据操作40
2.3.1添加数据40
2.3.2查询数据42
2.3.3修改数据44
2.3.4删除数据46
2.4动手实践: 电子杂志订阅表
的操作47
2.5本章小结48
第3章数据表设计49
3.1数据类型49
3.1.1数值类型49
3.1.2日期和时间类型56
3.1.3字符串类型60
3.2表的约束67
3.2.1设置默认值约束67
3.2.2设置非空约束71
3.2.3设置唯一约束73
3.2.4设置主键约束78
3.3自动增长81
3.4字符集与校对集86
3.4.1字符集概述86目录MySQL数据库原理、设计与应用(第2版)
3.4.2校对集概述88
3.4.3字符集与校对集的
设置89
3.5动手实践: 设计用户表93
3.6本章小结93
第4章数据库设计94
4.1数据库设计概述94
4.2数据库设计范式96
4.3数据库建模工具
MySQL Workbench99
4.3.1获取MySQL
Workbench99
4.3.2安装MySQL
Workbench100
4.3.3操作数据库102
4.3.4操作数据表107
4.3.5绘制EER图110
4.4动手实践: 电子商务
网站112
4.5本章小结113
第5章单表操作114
5.1数据进阶操作114
5.1.1复制表结构和
数据114
5.1.2解决主键冲突117
5.1.3清空数据119
5.1.4去除查询结果中的
重复记录120
5.2排序和限量121
5.2.1排序122
5.2.2限量124
5.3分组与聚合函数126
5.3.1分组126
5.3.2聚合函数127
5.3.3分组并使用聚合
函数129
5.3.4分组后进行条件
筛选130
5.3.5回溯统计131
5.4常用运算符133
5.5动手实践: 商品评论表的
操作133
5.6本章小结133
第6章多表操作134
6.1联合查询134
6.2连接查询136
6.2.1交叉连接查询136
6.2.2内连接查询138
6.2.3外连接查询140
6.3子查询143
6.3.1子查询的分类143
6.3.2子查询关键字147
6.4外键约束149
6.4.1外键约束概述150
6.4.2添加外键约束150
6.4.3关联表操作153
6.4.4删除外键约束155
6.5动手实践: 多表查询
练习156
6.6本章小结156
第7章用户与权限157
7.1用户与权限概述157
7.2用户管理161
7.2.1创建用户161
7.2.2修改用户166
7.2.3删除用户171
7.3权限管理171
7.3.1授予权限171
7.3.2查看权限174
7.3.3回收权限175
7.3.4刷新权限176
7.4动手实践: 用户与权限
练习177
7.5本章小结177
第8章视图178
8.1初识视图178
8.2视图管理179
8.2.1创建视图179
8.2.2查看视图183
8.2.3修改视图184
8.2.4删除视图186
8.3视图数据操作186
8.3.1添加数据187
8.3.2修改数据188
8.3.3删除数据189
8.4动手实践: 视图的应用189
8.5本章小结189
第9章事务190
9.1事务的概念190
9.2事务处理191
9.2.1事务的基本操作191
9.2.2事务的保存点194
9.3事务日志195
9.3.1redo日志195
9.3.2undo日志196
9.4事务的隔离级别197
9.4.1隔离级别概述197
9.4.2查看隔离级别198
9.4.3修改隔离级别198
9.4.4使用隔离级别199
9.5动手实践: 事务的应用205
9.6本章小结205
第10章数据库编程206
10.1函数206
10.1.1内置函数206
10.1.2自定义函数207
10.2存储过程211
10.2.1存储过程概述211
10.2.2创建存储过程211
10.2.3查看存储过程212
10.2.4调用存储过程215
10.2.5修改存储过程215
10.2.6删除存储过程216
10.2.7存储过程的错误
处理217
10.3变量219
10.3.1系统变量219
10.3.2会话变量222
10.3.3局部变量224
10.4流程控制225
10.4.1判断语句225
10.4.2循环语句228
10.4.3跳转语句231
10.5游标232
10.5.1游标概述233
10.5.2游标的基本
操作233
10.6触发器236
10.6.1触发器概述236
10.6.2触发器的基本
操作236
10.7事件241
10.7.1事件概述241
10.7.2事件的基本
操作242
10.8预处理SQL语句246
10.8.1预处理SQL
语句概述246
10.8.2预处理SQL语句
的基本操作247
10.9动手实践: 数据库编
程实战249
10.10本章小结249
第11章数据库优化250
11.1存储引擎250
11.1.1存储引擎概述250
11.1.2MySQL支持的
存储引擎251
11.1.3InnoDB存储
引擎253
11.1.4MyISAM存储
引擎258
11.2索引258
11.2.1索引概述258
11.2.2索引结构259
11.2.3创建索引262
11.2.4查看索引268
11.2.5删除索引270
11.2.6索引的使用
原则272
11.3锁机制273
11.3.1锁机制概述273
11.3.2表级锁275
11.3.3行级锁279
11.4分表技术283
11.5分区技术285
11.5.1分区概述285
11.5.2创建分区285
11.5.3增加分区288
11.5.4删除分区288
11.6整理数据碎片290
11.7分析SQL的执行情况292
11.7.1慢查询日志292
11.7.2通过performance_
schema进行查询
分析293
11.8动手实践: 数据库优化
实战296
11.9本章小结296
第12章数据库配置和部署297
12.1Linux环境安装
MySQL297
12.1.1使用APT安装
MySQL297
12.1.2编译安装
MySQL300
12.2MySQL配置文件307
12.2.1配置文件中的
区段307
12.2.2基本配置308
12.2.3内存和优化
配置308
12.2.4日志配置309
12.3数据备份和数据还原310
12.4多实例部署和主从复制310
12.5动手实践: 读写分离310
12.6本章小结310