第1章 数据库基础 1
1.1 数据库系统 1
1.1.1 数据库系统的基本概念 1
1.1.2 数据库系统的特点 2
1.2 数据模型 3
1.2.1 概念模型 4
1.2.2 E-R图的绘制 5
1.2.3 关系模型 6
1.2.4 关系性质 8
1.2.5 E-R图转化为关系模型 9
1.3 关系的完整性 10
1.3.1 实体完整性 10
1.3.2 参照完整性 10
1.3.3 域完整性 10
1.4 关系模式规范化 11
1.4.1 第一范式(1NF) 12
1.4.2 第二范式(2NF) 12
1.4.3 第三范式(3NF) 13
1.4.4 增强第三范式(Boyce-Codd Normal Form,BCNF) 13
课后习题 14
课外实践 15
第2章 MySQL安装与配置 17
2.1 MySQL简介 17
2.1.1 MySQL的特性 18
2.1.2 MySQL的版本 18
2.2 MySQL下载和安装 19
2.2.1 下载MySQL安装包 19
2.2.2 MySQL安装与配置 21
2.3 MySQL服务的启动 30
2.4 MySQL的登录 31
2.4.1 以Windows命令行方式登录 31
2.4.2 使用MySQL Command Line Client登录 33
2.4.3 登录MySQL的图形管理工具介绍 35
2.4.4 MySQL的图形管理工具——SQLyog登录 35
课后习题 37
课外实践 37
第3章 创建数据库 38
3.1 MySQL数据库概述 38
3.2 创建数据库 40
3.2.1 采用图形化界面方式 41
3.2.2 采用命令行方式 42
3.3 数据库相关操作 44
3.3.1 数据库查看 44
3.3.2 数据库选择 44
3.3.3 数据库删除 45
3.4 数据库存储引擎 47
3.4.1 MySQL存储引擎简介 47
3.4.2 InnoDB 48
3.4.3 MyISAM 48
3.4.4 Memory 49
3.4.5 默认存储引擎 49
3.4.6 存储引擎的比较 50
课后习题 51
课外实践 51
第4章 表的创建与管理 52
4.1 数据类型 52
4.1.1 数值类型 52
4.1.2 日期和时间类型 53
4.1.3 字符串类型 54
4.2 表的创建 56
4.2.1 表的概述 56
4.2.2 创建数据表结构 57
4.2.3 表约束 59
4.2.4 设置表字段值自动增加 64
4.2.5 表结构与表约束的综合定义 65
4.2.6 查看数据表结构 66
4.3 表的修改 67
4.3.1 修改表名 67
4.3.2 修改字段名 68
4.3.3 修改字段数据类型 69
4.3.4 添加字段 69
4.3.5 删除字段 70
4.3.6 改变字段排列顺序 70
4.3.7 删除外键约束 71
4.3.8 更改表的存储引擎 72
4.3.9 使用工具软件SQLyog修改表 72
4.4 表的删除 75
4.4.1 使用命令行方式删除表 75
4.4.2 使用工具软件SQLyog删除表 77
4.5 表数据操作 78
4.5.1 在Command Line Client模式下添加数据 78
4.5.2 使用工具软件SQLyog添加数据 81
4.5.3 更新数据 85
4.5.4 删除数据 87
课后习题 89
课外实践 90
第5章 数据查询 92
5.1 运算符 92
5.1.1 算术运算符 92
5.1.2 比较运算符 94
5.1.3 逻辑运算符 96
5.1.4 位运算符 97
5.2 简单数据查询 100
5.2.1 基本查询 100
5.2.2 条件查询 104
5.2.3 排序查询结果 109
5.3 复杂数据查询 111
5.3.1 使用聚合函数查询 111
5.3.2 分类汇总查询 114
5.3.3 多表查询 118
5.3.4 子查询 122
5.3.5 合并查询结果 125
5.3.6 将查询结果输出到其他表 126
课后习题 128
课外实践 132
第6章 索引与视图操作 133
6.1 索引概述 133
6.2 索引的操作 134
6.2.1 创建普通索引 134
6.2.2 创建唯一索引 136
6.2.3 创建主键索引 137
6.2.4 创建全文索引 137
6.2.5 创建多列索引 139
6.2.6 通过工具软件SQLyog创建索引 140
6.2.7 查看索引 143
6.2.8 删除索引 146
6.3 视图概述 149
6.4 视图的操作 149
6.4.1 使用命令行方式创建视图并查询视图数据 150
6.4.2 使用工具软件创建视图并查询视图数据 151
6.4.3 使用命令行方式查看视图 153
6.4.4 使用工具软件查看视图 154
6.4.5 修改视图 156
6.4.6 使用工具软件修改视图 157
6.4.7 通过视图操作基表 159
6.4.8 删除视图 162
课后习题 163
课外实践 164
第7章 MySQL触发器 165
7.1 什么是触发器 165
7.2 触发器的操作 166
7.2.1 创建触发器 166
7.2.2 在工具软件SQLyog中查看触发器 171
7.2.3 删除触发器 174
7.3 在Command Line Client模式下创建、查看与删除触发器 174
7.3.1 创建触发器 174
7.3.2 查看触发器 175
7.3.3 删除触发器 178
课后习题 178
课外实践 179
第8章 存储过程和函数 180
8.1 为什么使用存储过程和函数 180
8.2 创建存储过程和函数 181
8.2.1 创建存储过程 181
8.2.2 创建函数 184
8.2.3 调用存储过程和函数 184
8.2.4 存储过程和函数的区别 186
8.3 查看存储过程和函数 186
8.3.1 使用SHOW STATUS语句来查看存储过程和函数的状态信息 186
8.3.2 使用SHOW CREATE语句来查看存储过程和函数的定义信息 187
8.3.3 通过系统表information_ schema.routines来查看存储过程 188
8.3.4 使用工具软件SQLyog来查看存储过程和函数的定义信息 189
8.4 修改存储过程和函数 190
8.4.1 使用工具软件SQLyog来修改存储过程和函数 190
8.4.2 在Command Line Client模式中修改存储过程和函数 190
8.5 删除存储过程和函数 192
8.5.1 使用Command Line Client模式来删除存储过程和函数 192
8.5.2 使用工具软件SQLyog来删除存储过程和函数 192
课后习题 193
课外实践 194
第9章 MySQL编程基础 195
9.1 SQL语言 195
9.1.1 常量 195
9.1.2 变量 196
9.2 结构控制语句 199
9.2.1 IF条件控制结构 199
9.2.2 CASE分支结构 200
9.2.3 LOOP循环控制语句 202
9.2.4 WHILE循环控制语句 203
9.3 注释 205
9.4 游标 205
9.4.1 声明游标 206
9.4.2 打开游标 206
9.4.3 使用游标 206
9.4.4 关闭游标 207
9.5 MySQL事务 208
9.5.1 事务概述 208
9.5.2 事务控制 209
9.5.3 事务隔离级别 212
9.6 MySQL的锁 214
9.6.1 锁的类型 214
9.6.2 锁粒度 215
9.6.3 死锁 217
9.6.4 InnoDB监视器 218
课后习题 219
课外实践 220
第10章 数据备份与恢复 221
10.1 数据备份 221
10.1.1 使用MySQLdump命令备份 221
10.1.2 复制数据库目录进行备份 226
10.2 数据还原 227
10.2.1 使用MySQL命令还原 227
10.2.2 使用source命令还原 227
10.2.3 通过复制数据库目录还原 228
10.3 通过工具软件SQLyog进行数据备份与还原 228
10.3.1 通过工具软件SQLyog进行备份 228
10.3.2 使用工具软件SQLyog还原数据库 233
10.4 使用工具软件SQLyog进行数据的导出与导入 235
课后习题 238
课外实践 239
第11章 MySQL应用实例 240
11.1 实例环境搭建 240
11.1.1 PHP概述 240
11.1.2 Apache服务器的安装 241
11.1.3 PHP的安装与配置 241
11.1.4 配置Apache支持PHP 242
11.1.5 phpStudy简介 242
11.2 网站留言板制作 243
11.2.1 创建站点 243
11.2.2 留言板界面 245
11.2.3 网页文件 246
11.3 数据库与程序代码 246
11.3.1 构建数据库与表 246
11.3.2 index.php和transmit.php程序代码 247
11.3.3 实例小结 251
课外实践 251
参考答案 252
参考文献 264