第一部分 教程 2
第1章 数据库的基本概念 2
1.1数据库基本概念 2
1.1.1数据库与数据库管理系统 2
1.1.2数据模型 3
1.2关系数据库设计 4
1.2.1概念结构设计 4
1.2.2逻辑结构设计 7
1.2.3数据库物理设计 8
1.3数据库应用系统 8
1.3.1数据库的连接方式 8
1.3.2客户/服务器(C/S)模式应用系统 11
1.3.3三层客户/服务器(B/S)模式应用系统 12
1.3.4关系数据库语言 13
1.4 MySQL概述 13
1.4.1 MySQL的安装和配置 14
1.4.2 MySQL的环境 17
习题 18
第2章 数据库和表 19
2.1命令行方式创建数据库和表 19
2.1.1创建数据库 19
2.1.2创建表 21
2.2界面创建数据库和表 27
2.2.1创建数据库 27
2.2.2创建、删除和修改表 28
2.3有关表结构 30
2.3.1空值和列的identity(标志)属性 30
2.3.2 MySQL隐含地改变列类型 30
习题 31
第3章 表数据操作 32
3.1命令行操作表数据 32
3.1.1插入表数据 32
3.1.2删除表数据 35
3.1.3修改表数据 36
3.1.4 SHOW和DESCRIBE语句 38
3.2界面操作表数据 39
3.2.1插入记录 40
3.2.2修改记录 41
3.2.3删除记录 41
习题 41
第4章 数据库的查询和视图 42
4.1连接、选择和投影 42
4.1.1选择(Selection) 42
4.1.2投影(Projection) 43
4.1.3连接(JOIN) 43
4.2数据库的查询 44
4.2.1选择列 45
4.2.2 FROM子句 52
4.2.3 WHERE子句 56
4.2.4 GROUP BY子句 67
4.2.5 HAVING子句 69
4.2.6 ORDER BY子句 71
4.2.7 LIMIT子句 72
4.2.8 UNION语句 73
4.2.9 HANDLER语句 74
4.2.10使用查询工具查询 75
4.3数据库的视图 76
4.3.1视图概念 76
4.3.2创建视图 77
4.3.3查询视图 79
4.3.4更新视图 80
4.3.5修改视图定义 82
4.3.6删除视图 83
习题 83
第5章 索引与数据完整性约束 85
5.1索引 85
5.1.1索引的分类 86
5.1.2创建索引 87
5.1.3删除索引 89
5.1.4界面方式创建和删除索引 90
5.1.5索引对查询的影响 91
5.1.6索引的弊端 92
5.2数据完整性约束 92
5.2.1主键约束 93
5.2.2替代键约束 94
5.2.3参照完整性约束 95
5.2.4 CHECK完整性约束 97
5.2.5命名完整性约束 99
5.2.6删除完整性约束 99
习题 99
第6章 MySQL语言结构 100
6.1常量和变量 101
6.1.1常量 101
6.1.2变量 104
6.2运算符与表达式 108
6.2.1算术运算符 108
6.2.2比较运算符 110
6.2.3逻辑运算符 111
6.2.4位运算符 112
6.2.5运算符优先级 113
6.2.6表达式 114
6.3系统内置函数 114
6.3.1数学函数 115
6.3.2聚合函数 117
6.3.3字符串函数 118
6.3.4日期和时间函数 121
6.3.5加密函数 124
6.3.6控制流函数 124
6.3.7格式化函数 126
6.3.8类型转换函数 127
6.3.9系统信息函数 128
习题 129
第7章 过程式数据库对象 130
7.1存储过程 130
7.1.1创建存储过程 130
7.1.2存储过程体 132
7.1.3调用存储过程 141
7.1.4删除存储过程 143
7.1.5修改存储过程 143
7.2存储函数 144
7.2.1创建存储函数 144
7.2.2调用存储函数 145
7.2.3删除存储函数 146
7.2.4修改存储函数 147
7.2.5界面方式操作存储函数与存储过程 147
7.3触发器 148
7.3.1创建触发器 148
7.3.2触发器的删除 151
7.4事件 151
7.4.1创建事件 152
7.4.2修改事件 153
7.4.3删除事件 154
习题 154
第8章 备份与恢复 155
8.1备份和恢复概述 155
8.1.1备份和恢复需求分析 155
8.1.2数据库备份概念 155
8.1.3数据库恢复概念 156
8.2数据库备份和恢复的方法 156
8.2.1使用SQL语句备份和恢复表数据 156
8.2.2使用客户端程序备份和恢复数据 159
8.2.3使用MySQL界面工具进行备份和恢复 162
8.2.4直接复制 164
8.3使用二进制日志文件 164
8.3.1启用日志 164
8.3.2用mysqlbinlog处理日志 165
习题 166
第9章 用户和数据安全性 167
9.1添加和删除用户 167
9.1.1添加用户 167
9.1.2删除用户 168
9.1.3修改用户名 168
9.1.4修改密码 169
9.2授予权限和回收权限 169
9.2.1授予权限 169
9.2.2权限的转移和限制 173
9.2.3回收权限 174
9.3界面方式操作用户与权限 174
9.4表维护语句 176
9.4.1 ANALYZE TABLE语句 176
9.4.2 CHECK TABLE语句 176
9.4.3 CHECKSUM TABLE语句 177
9.4.4 OPTIMIZE TABLE语句 177
9.4.5 REPAIR TABLE语句 178
习题 178
第10章 事务和多用户 179
10.1事务 179
10.1.1事务和ACID属性 180
10.1.2事务处理 181
10.1.3事务隔离级 183
10.2锁定 185
10.2.1伪事务 185
10.2.2锁定与解锁 186
10.3多用户使用的问题 187
习题 187
第二部分 MySQL实验 190
实验1 MySQL的使用 190
实验2创建数据库和表 194
实验3表数据插入、修改和删除 198
实验4数据库的查询和视图 202
实验4.1数据库的查询 202
实验4.2视图的使用 207
实验5索引和数据完整性 210
实验6 MySQL语言结构 214
实验7过程式数据库对象的使用 217
实验8备份与恢复 222
实验9数据库的安全性 225
第三部分 实习 228
实习1 Ubuntu下PHP/MySQL学生成绩管理系统 228
P1.1开发环境的配置 228
P1.2数据库设计 231
P1.3主程序界面 234
P1.4学生信息查询 236
P1.5学生成绩查询 241
P1.6学生信息更新 244
P1.7学生成绩录入 252
实习2 ASP.NET(C#) /MySQL学生成绩管理系统 261
P2.1 ASP.NET连接数据库 261
P2.2 MySQL数据库准备 264
P2.3主程序界面和显示照片页面 266
P2.4学生信息查询 270
P2.5学生成绩查询 275
P2.6学生信息更新 281
P2.7学生成绩录入 291
实习3 JavaBean/MySQL学生成绩管理系统 299
P3.1构建系统准备 299
P3.1.1数据库准备 299
P3.1.2连接数据库 300
P3.2系统登录和进入系统 301
P3.2.1系统登录 301
P3.2.2系统主界面 305
P3.3系统功能 306
P3.3.1基本信息录入 306
P3.3.2学生信息查询 326
P3.3.3课程信息查询 330
实习4 VC/MySQL学生成绩管理系统 332
P4.1 VC++6.0数据库访问 332
P4.1.1创建ODBC数据源 332
P4.1.2 V C+++6.0数据库访问对象 335
P4.1.3 VC+++6.0连接MySQL数据库 336
P42 VC++6.0学生成绩管理系统 339
P4.2.1系统主界面 339
P4.2.2创建查询功能 342
P4.2.3学生信息操作 344
P4.2.4创建成绩操作 357
附录A学生成绩数据库(库名XSCJ)表结构和样本数据 363
附录B 常用语句 366
附录C MySQL数据类型 368
附录D字符集与校对规则 373
附录E存储引擎 375
附录F系统内置函数 377
附录G系统变量 380