《MySQL开发与实践》做为MySQL课程内容的教材系统软件全方位地详细介绍了相关MySQL数据库应用程序开发所涉及到的各种知识。全书共有16章內容包含数据库基本、MySQL简述、MySQL語言基本、数据库和表的实际操作、数据库的查寻、数据库索引、主视图、数据库安全管束、存储过程与储存涵数、触发器原理、恶性事件、备份与恢复、MySQL性能优化、限管理方法及安全管理、应用PHP管理方法MySQL数据库中的数据信息和综合性实例—记事本程序流程。全书各章內容都和案例紧密联系有利于学员了解知识、运用知识做到融会贯通的目地。
这书可做为应用型本科软件工程专业、软件学院、高职院校软件专业及有关技术专业的教材另外也合适报名参加全国性计算机二级考試二级MySQL数据库程序流程的学生参照应用。
目录
- 第1章 数据库基础 1
- 1.1 数据库系统概述 1
- 1.1.1 数据库技术的发展 1
- 1.1.2 数据库系统的组成 2
- 1.2 数据模型 2
- 1.2.1 数据模型的概念 2
- 1.2.2 常见的数据模型 2
- 1.2.3 关系数据库的规范化 4
- 1.2.4 关系数据库的设计原则 4
- 1.2.5 实体与关系 5
- 1.3 数据库的体系结构 5
- 1.3.1 数据库三级模式结构 5
- 1.3.2 三级模式之间的映射 5
- 知识点提炼 6
- 习题 6
- 第2章 MySQL概述 7
- 2.1 为什么选择MySQL数据库 7
- 2.1.1 什么是MySQL数据库 7
- 2.1.2 MySQL的优势 8
- 2.1.3 MySQL的发展史 8
- 2.2 MySQL的特性 8
- 2.3 MySQL服务器的安装与配置 9
- 2.3.1 MySQL的下载 9
- 2.3.2 MySQL的环境安装 11
- 2.3.3 启动、连接、断开和停止MySQL服务器 15
- 2.4 MySQL Workbench图形化管理工具 18
- 2.4.1 MySQL Workbench的安装 19
- 2.4.2 创建数据库和数据表 20
- 2.4.3 添加数据 22
- 2.4.4 数据的导入和导出 23
- 2.5 phpMyAdmin图形化管理工具 25
- 2.5.1 数据库操作管理 25
- 2.5.2 管理数据表 27
- 2.5.3 管理数据记录 28
- 2.5.4 使用phpMyAdmin设置编码格式 32
- 2.5.5 使用phpMyAdmin添加服务器新用户 33
- 2.5.6 在phpMyAdmin中重置MySQL服务器登录密码 34
- 2.6 综合实例——使用phpMyAdmin导入导出数据 35
- 知识点提炼 36
- 习题 36
- 实验:下载并安装MySQL服务器 36
- 第3章 MySQL语言基础 38
- 3.1 数据类型 38
- 3.1.1 数字类型 38
- 3.1.2 字符串类型 39
- 3.1.3 日期和时间数据类型 40
- 3.2 运算符 41
- 3.2.1 算术运算符 41
- 3.2.2 比较运算符 42
- 3.2.3 逻辑运算符 46
- 3.2.4 位运算符 48
- 3.2.5 运算符的优先级 48
- 3.3 流程控制语句 49
- 3.3.1 IF语句 49
- 3.3.2 CASE语句 50
- 3.3.3 WHILE循环语句 51
- 3.3.4 LOOP循环语句 53
- 3.3.5 REPEAT循环语句 54
- 3.4 综合实例——逻辑运算的使用 55
- 知识点提炼 55
- 习题 56
- 实验:位运算的比较 56
- 第4章 数据库和表的操作 57
- 4.1 数据库操作 57
- 4.1.1 创建数据库 57
- 4.1.2 查看数据库 58
- 4.1.3 选择数据库 58
- 4.1.4 删除数据库 59
- 4.2 数据表操作 59
- 4.2.1 创建数据表 59
- 4.2.2 查看表结构 61
- 4.2.3 修改表结构 62
- 4.2.4 重命名表 63
- 4.2.5 删除表 63
- 4.3 语句操作 64
- 4.3.1 插入记录 64
- 4.3.2 查询数据库记录 64
- 4.3.3 修改记录 68
- 4.3.4 删除记录 68
- 4.4 综合实例——查询名称中包含“PHP”的图书信息 69
- 知识点提炼 69
- 习题 70
- 实验:操作teacher表 70
- 第5章 数据库的查询 72
- 5.1 基本查询语句 72
- 5.2 单表查询 74
- 5.2.1 查询所有字段 74
- 5.2.2 查询指定字段 74
- 5.2.3 查询指定数据 75
- 5.2.4 带IN关键字的查询 75
- 5.2.5 带BETWEEN AND的范围查询 76
- 5.2.6 带LIKE的字符匹配查询 77
- 5.2.7 用IS NULL关键字查询空值 77
- 5.2.8 带AND的多条件查询 78
- 5.2.9 带OR的多条件查询 78
- 5.2.10 用DISTINCT关键字去除结果中的重复行 79
- 5.2.11 用ORDER BY关键字对查询结果排序 79
- 5.2.12 用GROUP BY关键字分组查询 80
- 5.2.13 用LIMIT限制查询结果的数量 82
- 5.3 聚合函数查询 82
- 5.3.1 COUNT()函数 83
- 5.3.2 SUM()函数 83
- 5.3.3 AVG()函数 84
- 5.3.4 MAX()函数 84
- 5.3.5 MIN()函数 85
- 5.4 连接查询 85
- 5.4.1 内连接查询 85
- 5.4.2 外连接查询 87
- 5.4.3 复合条件连接查询 88
- 5.5 子查询 88
- 5.5.1 带IN关键字的子查询 89
- 5.5.2 带比较运算符的子查询 90
- 5.5.3 带EXISTS关键字的子查询 91
- 5.5.4 带ANY关键字的子查询 92
- 5.5.5 带ALL关键字的子查询 93
- 5.6 合并查询结果 93
- 5.7 定义表和字段的别名 95
- 5.7.1 为表取别名 95
- 5.7.2 为字段取别名 95
- 5.8 使用正则表达式查询 96
- 5.8.1 匹配指定字符中的任意一个 97
- 5.8.2 使用“*”和“+”来匹配多个字符 97
- 5.9 综合实例——使用正则表达式查询学生成绩信息 98
- 知识点提炼 98
- 习题 99
- 实验:使用比较运算符进行子查询 99
- 第6章 索引 101
- 6.1 索引概述 101
- 6.1.1 MySQL索引概述 101
- 6.1.2 MySQL索引分类 102
- 6.2 创建索引 102
- 6.2.1 在建立数据表时创建索引 103
- 6.2.2 在已建立的数据表中创建索引 107
- 6.2.3 修改数据表结构添加索引 110
- 6.3 删除索引 112
- 6.4 综合实例——使用ALTER TABLE语句创建全文索引 113
- 知识点提炼 114
- 习题 114
- 实验:删除唯一性索引 114
- 第7章 视图 116
- 7.1 视图概述 116
- 7.1.1 视图的概念 116
- 7.1.2 视图的作用 117
- 7.2 创建视图 117
- 7.2.1 查看创建视图的权限 117
- 7.2.2 创建视图 118
- 7.2.3 创建视图的注意事项 119
- 7.3 视图操作 119
- 7.3.1 查看视图 119
- 7.3.2 修改视图 121
- 7.3.3 更新视图 123
- 7.3.4 删除视图 125
- 7.4 综合实例——使用视图查询学生信息表 126
- 知识点提炼 127
- 习题 128
- 实验:在单表上创建视图 128
- 第8章 数据完整性约束 129
- 8.1 定义完整性约束 129
- 8.1.1 实体完整性 129
- 8.1.2 参照完整性 132
- 8.1.3 用户定义的完整性 134
- 8.2 命名完整性约束 136
- 8.3 更新完整性约束 138
- 8.3.1 删除完整性约束 138
- 8.3.2 修改完整性约束 138
- 8.4 综合实例——在创建表时添加命名外键完整性约束 139
- 知识点提炼 140
- 习题 141
- 实验:添加命名完整性约束 141
- 第9章 存储过程与存储函数 143
- 9.1 创建存储过程和存储函数 143
- 9.1.1 创建存储过程 143
- 9.1.2 创建存储函数 145
- 9.1.3 变量的应用 146
- 9.1.4 光标的运用 149
- 9.2 存储过程和存储函数的调用 150
- 9.2.1 调用存储过程 150
- 9.2.2 调用存储函数 151
- 9.3 查看存储过程和存储函数 151
- 9.3.1 SHOW STATUS语句 151
- 9.3.2 SHOW CREATE语句 151
- 9.4 修改存储过程和存储函数 152
- 9.5 删除存储过程和存储函数 153
- 9.6 综合实例——使用存储过程实现用户注册 153
- 知识点提炼 155
- 习题 155
- 实验:修改存储函数 155
- 第10章 触发器 157
- 10.1 MySQL触发器 157
- 10.1.1 创建MySQL触发器 157
- 10.1.2 创建具有多个执行语句的触发器 158
- 10.2 查看触发器 160
- 10.2.1 SHOW TRIGGERS 160
- 10.2.2 查看triggers表中的触发器信息 161
- 10.3 使用触发器 161
- 10.4 删除触发器 162
- 10.5 综合实例——创建一个由INSERT触发的触发器 163
- 知识点提炼 164
- 习题 164
- 实验:使用DROP TIRGGER删除触发器 165
- 第11章 事件 166
- 11.1 事件概述 166
- 11.1.1 查看事件是否开启 166
- 11.1.2 开启事件 167
- 11.2 创建事件 168
- 11.3 修改事件 170
- 11.4 删除事件 172
- 11.5 综合实例——创建定时统计会员人数的事件 172
- 知识点提炼 173
- 习题 173
- 实验:每个月清空一次数据表 174
- 第12章 备份与恢复 175
- 12.1 数据备份 175
- 12.1.1 使用mysqldump命令备份 175
- 12.1.2 直接复制整个数据库目录 177
- 12.1.3 使用mysqlhotcopy工具快速备份 177
- 12.2 数据恢复 178
- 12.2.1 使用mysql命令还原 178
- 12.2.2 直接复制到数据库目录 179
- 12.3 数据库迁移 179
- 12.3.1 相同版本的MySQL数据库之间的迁移 180
- 12.3.2 不同数据库之间的迁移 180
- 12.4 表的导出和导入 180
- 12.4.1 用SELECT ...INTO OUTFILE导出文本文件 181
- 12.4.2 用mysqldump命令导出文本文件 181
- 12.4.3 用mysql命令导出文本文件 182
- 12.5 综合实例——将表中的内容导出到文件中 184
- 知识点提炼 184
- 习题 184
- 实验:导出XML文件 185
- 第13章 MySQL性能优化 186
- 13.1 优化概述 186
- 13.2 优化查询 187
- 13.2.1 分析查询语句 187
- 13.2.2 索引对查询速度的影响 188
- 13.2.3 使用索引查询 189
- 13.3 优化数据库结构 191
- 13.3.1 将字段很多的表分解成多个表 191
- 13.3.2 增加中间表 192
- 13.3.3 优化插入记录的速度 193
- 13.3.4 分析表、检查表和优化表 194
- 13.4 查询高速缓存 195
- 13.4.1 检验高速缓存是否开启 195
- 13.4.2 使用高速缓存 196
- 13.5 优化多表查询 197
- 13.6 优化表设计 198
- 13.7 综合实例——查看MySQL服务器的连接和查询次数 198
- 知识点提炼 199
- 习题 199
- 实验:优化表 200
- 第14章 权限管理及安全控制 201
- 14.1 安全保护策略概述 201
- 14.2 用户和权限管理 202
- 14.2.1 使用CREATE USER命令创建用户 202
- 14.2.2 使用DROP USER命令删除用户 203
- 14.2.3 使用RENAME USER命令重命名用户 203
- 14.2.4 GRANT和REVOKE命令 203
- 14.3 MySQL数据库安全常见问题 206
- 14.3.1 权限更改何时生效 206
- 14.3.2 设置账户密码 206
- 14.3.3 使密码更安全 207
- 14.4 状态文件和日志文件 208
- 14.4.1 进程ID文件 208
- 14.4.2 日志文件管理 208
- 14.5 综合实例——删除名称为mrkj的用户 215
- 知识点提炼 216
- 习题 216
- 实验:为mr用户设置密码 216
- 第15章 使用PHP管理MySQL数据库中的数据 218
- 15.1 PHP语言概述 218
- 15.1.1 什么是PHP 218
- 15.1.2 为什么选择PHP 218
- 15.1.3 PHP的工作原理 220
- 15.1.4 PHP结合数据库应用的优势 220
- 15.2 使用PHP操作MySQL数据库的步骤 221
- 15.3 使用PHP操作MySQL数据库 221
- 15.3.1 使用mysql_connect()函数连接MySQL服务器 221
- 15.3.2 使用mysql_select_db()函数选择MySQL数据库 222
- 15.3.3 使用mysql_query()函数执行SQL语句 222
- 15.3.4 使用mysql_fetch_array()函数将结果集返回到数组中 223
- 15.3.5 使用mysql_fetch_row()函数从结果集中获取一行作为枚举数组 223
- 15.3.6 使用mysql_num_rows()函数获取查询结果集中的记录数 223
- 15.3.7 使用mysql_free_result()函数释放内存 223
- 15.3.8 使用mysql_close()函数关闭连接 224
- 15.4 使用PHP管理MySQL数据库中的数据 224
- 15.4.1 向数据库中添加数据 224
- 15.4.2 浏览数据库中数据 225
- 15.4.3 编辑数据库数据 225
- 15.4.4 删除数据 227
- 15.4.5 批量删除数据 228
- 15.5 常见问题与解决方法 230
- 15.6 综合实例——将数据以二进制形式上传到数据库 232
- 知识点提炼 233
- 习题 234
- 实验:使用MySQL存储过程实现用户登录 234
- 第16章 综合案例——日记本程序 236
- 16.1 概述 236
- 16.2 系统设计 236
- 16.2.1 系统目标 236
- 16.2.2 系统功能结构 236
- 16.2.3 系统预览 236
- 16.3 数据库设计 238
- 16.3.1 创建数据库 238
- 16.3.2 连接数据库 239
- 16.4 用户登录 239
- 16.5 发表日记 240
- 16.6 分页显示日记列表 242
- 16.7 弹出窗口修改日记 244
- 16.8 查询日记 245
- 16.9 应用JavaScript实现批量删除 248
- 16.10 小结 250