第一部分 MySQL综述 2
第1章 数据库基础 2
1.1 基本概念 2
1.1.1 数据库(DB) 2
1.1.2 数据库管理系统(DBMS) 2
1.1.3 数据库系统 3
1.1.4 数据模型 3
1.2 关系数据库设计 5
1.2.1 概念设计 5
1.2.2 逻辑设计 6
1.2.3 物理设计 8
1.2.4 结构化查询语言SQL 8
1.3 数据库应用系统 8
1.3.1 应用系统的数据接口 8
1.3.2 C/S架构的应用系统 10
1.3.3 B/S架构的应用系统 11
1.4 MySQL数据库 12
1.4.1 MySQL概述 12
1.4.2 MySQL安装运行 13
1.4.3 MySQL命令行初步 19
习题1 22
第2章 MySQL可视化界面工具 23
2.1 常用MySQL界面工具 23
2.1.1 图形化客户端 23
2.1.2 基于Web的管理工具 23
2.2 MySQLAdministrator官方工具 24
2.2.1 下载和安装 24
2.2.2 创建数据库 25
2.2.3 建立、删除和修改表 26
2.2.4 操作表中的记录 28
2.3 MySQLWorkbench图形化管理工具 31
2.3.1 MySQL Workbench安装 32
2.3.2 创建数据连接 32
2.3.3 创建数据库和表 34
2.4 Navicat数据库工具 37
2.4.1 Navicat安装 37
2.4.2 创建数据库和表 38
2.5 phpMyAdmin数据库管理工具 41
2.5.1 安装PHP环境 41
2.5.2 phpMyAdmin使用初步 45
2.6 MySQL界面工具的操作结果(命令行查看) 48
习题 2 49
第3章 MySQL数据库和表 51
3.1 MySQL数据库 51
3.1.1 创建数据库 51
3.1.2 修改数据库 52
3.1.3 删除数据库 53
3.2 MySQL表 53
3.2.1 创建表 54
3.2.2 修改表 58
3.2.3 删除表 61
3.2.4 MySQL表结构的特点 62
3.3 表记录的操作 63
3.3.1 插入记录 63
3.3.2 修改记录 66
3.3.3 删除记录 68
3.4 MySQL数据库信息显示 70
习题3 71
第4章 MySQL查询和视图 73
4.1 关系运算基础 73
4.1.1 选择(Selection)运算 73
4.1.2 投影(Projection)运算 74
4.1.3 连接(Join)运算 74
4.2 MySQL数据库查询 75
4.2.1 SELECT语句 76
4.2.2 选择SELECT列 77
4.2.3 FROM子句 83
4.2.4 WHERE子句 87
4.2.5 GROUPBY子句 96
4.2.6 HAVING子句 98
4.2.7 ORDER BY子句 99
4.2.8 LIMIT子句 100
4.2.9 UNION语句 101
4.2.1 0 HANDLER语句 102
4.3 MySQL视图 104
4.3.1 视图的概念 104
4.3.2 创建视图 105
4.3.3 查询视图 106
4.3.4 更新视图 107
4.3.5 修改视图 109
4.3.6 删除视图 110
习题4 111
第5章 MySQL索引与完整性约束 112
5.1 MySQL索引 112
5.1.1 索引及作用 112
5.1.2 索引的分类 113
5.1.3 创建和删除索引 114
5.1.4 索引的利弊 118
5.2 MySQL数据完整性约束 119
5.2.1 主键约束 119
5.2.2 替代键约束 121
5.2.3 参照完整性约束 122
5.2.4 CHECK完整性约束 124
5.2.5 命名完整性约束 126
5.2.6 删除完整性约束 126
习题5 127
第6章 MySQL语言结构 128
6.1 MySQL语言简介 128
6.2 常量和变量 129
6.2.1 常量 129
6.2.2 变量 132
6.3 算符与表达式 136
6.3.1 算术运算符 136
6.3.2 比较运算符 138
6.3.3 逻辑运算符 140
6.3.4 位运算符 141
6.3.5 运算符优先级 142
6.3.6 表达式 142
6.4 系统内置函数 143
6.4.1 数学函数 143
6.4.2 聚合函数 146
6.4.3 字符串函数 146
6.4.4 日期和时间函数 149
6.4.5 加密函数 152
6.4.6 控制流函数 153
6.4.7 格式化函数 154
6.4.8 类型转换函数 156
6.4.9 系统信息函数 156
习题6 158
第7章 MySQL 5过程式数据库对象 159
7.1 存储过程 159
7.1.1 创建存储过程 159
7.1.2 存储过程体 161
7.1.3 存储过程的调用、删除和修改 171
7.2 存储函数 174
7.2.1 创建存储函数 174
7.2.2 存储函数的调用、删除和修改 175
7.3 触发器 177
7.4 事件 181
7.4.1 创建事件 181
7.4.2 修改和删除事件 183
习题7 184
第8章 MySQL数据库备份与恢复 185
8.1 基本概念 185
8.2 常用的备份恢复方法 186
8.2.1 使用SQL语句 186
8.2.2 使用客户端工具 189
8.2.3 直接复制 192
8.3 日志文件 193
8.3.1 启用日志 193
8.3.2 用mysqlbinlog处理日志 194
习题8 195
第9章 MySQL安全管理 196
9.1 用户管理 196
9.1.1 添加、删除用户 196
9.1.2 修改用户名、密码 198
9.2 权限控制 199
9.2.1 授予权限 199
9.2.2 权限转移和限制 203
9.2.3 权限回收 204
9.3 表维护语句 205
9.3.1 ANALYZETABLE语句 205
9.3.2 CHECK TABLE语句 206
9.3.3 CHECKSUMTABLE语句 207
9.3.4 OPTIMIZETABLE语句 207
9.3.5 REPAIRTABLE语句 207
习题 9 208
第10章 MySQL多用户事务管理 209
10.1 事务管理 209
10.1.1 事务的概念 209
10.1.2 ACID属性 210
10.1.3 事务处理 211
10.1.4 事务隔离级 213
10.2 多用户访问 215
10.2.1 锁定的级别 215
10.2.2 锁定与解锁 216
10.2.3 并发访问的问题 217
习题10 218
第二部分 MySQL实验 220
实验1 MySQL的使用 220
实验2 创建数据库和表 225
实验3 表数据插入、修改和删除 229
实验4 数据库的查询和视图 234
实验4.1 数据库的查询 234
实验4.2 视图的使用 241
实验5 索引和数据完整性 244
实验6 MySQL语言结构 248
实验7 过程式数据库对象的使用 252
实验8 备份与恢复 257
实验9 数据库的安全性 260
第三部分 综合应用实习 264
实习1 PHP/MySQL学生成绩管理系统 264
P1.1 Eclipse开发入门 264
P1.1.1 Eclipse安装与配置 264
P1.1.2 PHP项目的建立 266
P1.2 主程序界面 268
P1.3 学生信息录入 271
P1.4 学生信息查询 280
P1.5 成绩信息录入 286
P1.6 学生成绩查询 292
实习2 ASP.NET(C#)/MySQL学生成绩管理系统 296
P2.1 ASP.NET网页设计入门 296
P2.1.1 母版页设计方法 296
P2.1.2 添加各个内容页面 300
P2.2 ASP.NET连接MySQL数据库 301
P2.2.1 ADO.NET面向对象的数据库视图 301
P2.2.2 ASP.NET(C#)和MySQL数据库连接 302
P2.3 新建显示照片页面 304
P2.4 学生信息录入 306
P2.5 学生信息查询 319
P2.6 成绩信息录入 323
P2.7 学生成绩查询 328
实习3 JavaEE(Struts 2)/MySQL学生成绩管理系统 331
P3.1 构建Java EE(Struts 2)环境入门 331
P3.1.1 JavaEE环境搭建 332
P3.1.2 创建Struts 2项目 334
P3.2 设计系统主界面 337
P3.3 学生信息录入 339
P3.4 学生信息查询、修改和删除 347
P3.5 学生成绩录入 359
实习4 VC 6.0/MySQL学生成绩管理系统 368
P4.1 创建包含数据库的VC项目 368
P4.1.1 创建ODBC数据源 368
P4.1.2 创建项目主框架 370
P4.2 VC++6.0访问MySQL数据库 374
P4.2.1 ADO的基本概念 374
P4.2.2 XSCJ数据库的连接 374
P4.3 学生信息录入 377
P4.4 学生信息查询、修改 384
P4.5 成绩信息录入 395
实习5 VB 6.0/MySQL学生成绩管理系统 402
P5.1 连接MySQL5数据库 402
P5.2 学生成绩管理系统主界面 406
P5.3 学生信息查询 408
P5.4 学生信息修改 411
P5.5 学生成绩的录入 415
第四部分 附录 419
附录A 学生成绩数据库(库名XSCJ)表结构样本数据 419
附录B MySQL Administrator操作 424
附录C MySQLWorkbench操作 431
附录D Navicat操作 436
附录E phpMyAdmin操作 441