21世纪高等教育计算机规划教材

MySQL数据库基础与实例教程

分享 推荐 4 收藏 28 阅读 8.7K
孔祥盛 (主编) 978-7-115-35338-2

关于本书的内容有任何问题,请联系 许金霞


1.满足计算机等级考试二级MySQL 的需求
2.网上选课系统开发贯穿全书
3.注重软件工程在数据库中的应用

内容摘要


作为世界上最受欢迎的开源数据库之一,MySQL 由于其性能优越、功能强大,受到了广大自由软件爱好者甚至是商业软件用户的青睐。本书以讲解MySQL 基础知识为目标,以案例的实现为载体,以不同的章节完成不同的任务为理念,深入讲解关系数据库设计、MySQL 基础知识以及MySQL 编程知识。

目录

目 录

第 一篇 关系数据库设计

第 1章 数据库设计概述 2
1.1 数据库概述 2
1.1.1 关系数据库管理系统 2
1.1.2 关系数据库 3
1.1.3 结构化查询语言SQL 4
1.2 数据库设计的相关知识 5
1.2.1 商业知识和沟通技能 5
1.2.2 数据库设计辅助工具 6
1.2.3 “选课系统”概述 7
1.2.4 定义问题域 8
1.2.5 编码规范 8
1.3 E-R图 9
1.3.1 实体和属性 10
1.3.2 关系 10
1.3.3 E-R图的设计原则 12
1.4 关系数据库设计 15
1.4.1 为每个实体建立一张数据库表 15
1.4.2 为每张表定义一个主键 16
1.4.3 增加外键表示一对多关系 17
1.4.4 建立新表表示多对多关系 19
1.4.5 为字段选择合适的数据类型 20
1.4.6 定义约束(constraint)条件 20
1.4.7 评价数据库表设计的质量 22
1.4.8 使用规范化减少数据冗余 22
1.4.9 避免数据经常发生变化 26
习题 28

第 二篇 MySQL基础

第 2章 MySQL基础知识 30
2.1 MySQL概述 30
2.1.1 MySQL的特点 30
2.1.2 MySQL服务的安装 32
2.1.3 MySQL服务的配置 35
2.1.4 启动与停止MySQL服务 40
2.1.5 MySQL配置文件 41
2.1.6 MySQL客户机 42
2.1.7 连接MySQL服务器 43
2.2 字符集以及字符序设置 45
2.2.1 字符集及字符序概念 45
2.2.2 MySQL字符集与字符序 45
2.2.3 MySQL字符集的转换过程 47
2.2.4 MySQL字符集的设置 48
2.2.5 SQL脚本文件 49
2.3 MySQL数据库管理 50
2.3.1 创建数据库 50
2.3.2 查看数据库 51
2.3.3 显示数据库结构 52
2.3.4 选择当前操作的数据库 52
2.3.5 删除数据库 52
2.4 MySQL表管理 53
2.4.1 MyISAM和InnoDB存储引擎 53
2.4.2 设置默认的存储引擎 54
2.4.3 创建数据库表 54
2.4.4 显示表结构 55
2.4.5 表记录的管理 56
2.4.6 InnoDB表空间 59
2.4.7 删除表 61
2.5 系统变量 61
2.5.1 全局系统变量与会话系统变量 61
2.5.2 查看系统变量的值 62
2.5.3 设置系统变量的值 64
2.6 MySQL数据库备份和恢复 65
习题 67

第3章 MySQL表结构的管理 68
3.1 MySQL数据类型 68
3.1.1 MySQL整数类型 68
3.1.2 MySQL小数类型 69
3.1.3 MySQL字符串类型 70
3.1.4 MySQL日期类型 71
3.1.5 MySQL复合类型 73
3.1.6 MySQL二进制类型 75
3.1.7 选择合适的数据类型 75
3.2 创建表 76
3.2.1 设置约束 77
3.2.2 设置自增型字段 81
3.2.3 其他选项的设置 81
3.2.4 创建“选课系统”数据库表 82
3.2.5 复制一个表结构 83
3.3 修改表结构 84
3.3.1 修改字段相关信息 84
3.3.2 修改约束条件 85
3.3.3 修改表的其他选项 87
3.3.4 修改表名 87
3.4 删除表 87
3.5 索引 88
3.5.1 理解索引 88
3.5.2 索引关键字的选取原则 91
3.5.3 索引与约束 92
3.5.4 创建索引 93
3.5.5 删除索引 94
习题 95

第4章 表记录的更新操作 96
4.1 表记录的插入 96
4.1.1 使用insert语句插入新记录 96
4.1.2 更新操作与字符集 99
4.1.3 关于自增型字段 100
4.1.4 批量插入多条记录 100
4.1.5 使用insert…select插入结果集 101
4.1.6 使用replace插入新记录 102
4.2 表记录的修改 103
4.3 表记录的删除 103
4.3.1 使用delete删除表记录 103
4.3.2 使用truncate清空表记录 104
4.4 MySQL特殊字符序列 106
习题 108

第5章 表记录的检索 109
5.1 select语句概述 109
5.1.1 使用select子句指定字段列表 110
5.1.2 使用谓词过滤记录 111
5.1.3 使用from子句指定数据源 112
5.1.4 多表连接 115
5.2 使用where子句过滤结果集 116
5.2.1 使用单一的条件过滤结果集 116
5.2.2 is NULL运算符 117
5.2.3 select语句与字符集 118
5.2.4 使用逻辑运算符 119
5.2.5 使用like进行模糊查询 121
5.3 使用order by子句对结果集排序 122
5.4 使用聚合函数汇总结果集 123
5.5 使用group by子句对记录分组统计 125
5.5.1 group by子句与聚合函数 125
5.5.2 group by子句与having子句 126
5.5.3 group by子句与group_concat()函数 127
5.5.4 group by子句与with rollup选项 127
5.6 合并结果集 128
5.7 子查询 129
5.7.1 子查询与比较运算符 129
5.7.2 子查询与in运算符 131
5.7.3 子查询与exists逻辑运算符 132
5.7.4 子查询与any运算符 133
5.7.5 子查询与all运算符 133
5.8 选课系统综合查询 134
5.9 使用正则表达式模糊查询 138
5.10 全文检索 139
5.10.1 全文检索的简单应用 140
5.10.2 全文检索方式 144
5.10.3 布尔检索模式的复杂应用 144
5.10.4 MySQL全文检索的注意事项 146
5.10.5 InnoDB表的全文检索 146
习题 147

第三篇 MySQL编程

第6章 MySQL编程基础 150
6.1 MySQL编程基础知识 150
6.1.1 常量 150
6.1.2 用户自定义变量 152
6.1.3 运算符与表达式 157
6.1.4 begin-end语句块 159
6.1.5 重置命令结束标记 160
6.2 自定义函数 160
6.2.1 创建自定义函数的语法格式 160
6.2.2 函数的创建与调用 161
6.2.3 函数的维护 163
6.2.4 条件控制语句 165
6.2.5 循环语句 167
6.3 系统函数 171
6.3.1 数学函数 171
6.3.2 字符串函数 173
6.3.3 数据类型转换函数 180
6.3.4 条件控制函数 180
6.3.5 系统信息函数 182
6.3.6 日期和时间函数 183
6.3.7 其他常用的MySQL函数 189
6.4 中文全文检索的模拟实现 191
习题 193

第7章 视图与触发器 195
7.1 视图 195
7.1.1 创建视图 195
7.1.2 查看视图的定义 196
7.1.3 视图在“选课系统”中的应用 197
7.1.4 视图的作用 198
7.1.5 删除视图 199
7.1.6 检查视图 199
7.1.7 local与cascade检查视图 200
7.2 触发器 201
7.2.1 准备工作 202
7.2.2 使用触发器实现检查约束 203
7.2.3 使用触发器维护冗余数据 204
7.2.4 使用触发器模拟外键级联选项 205
7.2.5 查看触发器的定义 206
7.2.6 删除触发器 207
7.2.7 使用触发器的注意事项 207
7.3 临时表 208
7.3.1 临时表概述 208
7.3.2 临时表的创建、查看与删除 208
7.3.3 “选课系统”中临时表的使用 209
7.3.4 使用临时表的注意事项 210
7.4 派生表(derived table) 211
7.5 子查询、视图、临时表、派生表 211
习题 213

第8章 存储过程与游标 214
8.1 存储过程 214
8.1.1 创建存储过程的语法格式 214
8.1.2 存储过程的调用 215
8.1.3 “选课系统”的存储过程 216
8.1.4 查看存储过程的定义 220
8.1.5 删除存储过程 221
8.1.6 存储过程与函数的比较 222
8.2 错误触发条件和错误处理 223
8.2.1 自定义错误处理程序 223
8.2.2 自定义错误触发条件 225
8.2.3 自定义错误处理程序说明 226
8.3 游标 226
8.3.1 使用游标 226
8.3.2 游标在“选课系统”中的使用 227
8.4 预处理SQL语句 229
8.4.1 预处理SQL语句使用步骤 229
8.4.2 “选课系统”中预处理SQL语句的使用 230
8.4.3 预处理SQL语句的复杂应用 231
8.4.4 静态SQL语句与预处理SQL语句 233
8.5 存储程序的说明 234
习题 234

第9章 事务机制与锁机制 235
9.1 事务机制 235
9.1.1 事务机制的必要性 235
9.1.2 关闭MySQL自动提交 237
9.1.3 回滚 237
9.1.4 提交 239
9.1.5 事务 240
9.1.6 保存点 241
9.1.7 “选课系统”中的事务 243
9.2 锁机制 246
9.2.1 锁机制的必要性 246
9.2.2 MySQL锁机制的基础知识 248
9.2.3 MyISAM表的表级锁 250
9.2.4 InnoDB表的行级锁 253
9.2.5 “选课系统”中的行级锁 255
9.2.6 InnoDB表的意向锁 257
9.2.7 InnoDB行级锁与索引之间的关系 258
9.2.8 间隙锁与死锁 261
9.2.9 死锁与锁等待 262
9.3 事务的ACID特性 264
9.3.1 事务的ACID特性 264
9.3.2 事务的隔离级别与并发问题 265
9.3.3 设置事务的隔离级别 266
9.3.4 使用间隙锁避免幻读现象 271
9.4 事务与锁机制注意事项 272
习题 273

第四篇 综合实训

第 10章 网上选课系统的开发 276
10.1 PHP预备知识 276
10.1.1 为何选用B/S结构以及PHP脚本语言 276
10.1.2 PHP脚本语言概述 277
10.1.3 PHP脚本程序的工作流程 278
10.1.4 Web服务器的部署 280
10.1.5 注意事项 282
10.2 软件开发生命周期SDLC 283
10.3 网上选课系统的系统规划 283
10.3.1 网上选课系统的目标 284
10.3.2 网上选课系统的可行性分析 284
10.3.3 网上选课系统的项目进度表 284
10.3.4 网上选课系统的人员分工 285
10.4 网上选课系统的系统分析 286
10.4.1 网上选课系统的功能需求分析 286
10.4.2 网上选课系统的非功能需求分析 288
10.5 网上选课系统的系统设计 288
10.6 网上选课系统的系统实施 290
10.6.1 准备工作 290
10.6.2 制作PHP连接MySQL服务器函数 291
10.6.3 制作PHP权限系统函数 293
10.6.4 首页index.php的开发 294
10.6.5 教师注册模块的开发 295
10.6.6 登录模块的开发 298
10.6.7 注销模块的开发 300
10.6.8 添加班级模块的开发 300
10.6.9 学生注册模块的开发 301
10.6.10 密码重置模块 303
10.6.11 申报课程模块 304
10.6.12 课程列表显示模块 305
10.6.13 审核申报课程 307
10.6.14 取消已审核课程 308
10.6.15 浏览自己申报的课程 309
10.6.16 删除课程 310
10.6.17 学生选修或者调换已经审核的课程 310
10.6.18 查看自己选修的课程 311
10.6.19 取消选修课程 312
10.6.20 查看课程的学生信息列表 313
10.6.21 查看选修人数少于30人的课程信息 314
10.7 界面设计与MVC模式 315
10.8 网上选课系统的测试 317
习题 318

参考文献 319

读者评论

  • 能寄本样书来吗?

    zhangqingbiao发表于 2018/6/19 11:07:54
    • 您好,您的教师认证已通过,您可点击图书右侧“申请样书”按钮,填写相关信息,我们会尽快处理后寄出。每月申请样书数量有限。

      人邮教育专员发表于 2018/6/19 11:13:52
  • 下载速度太慢了吧

    pigone发表于 2017/10/19 10:54:50

我要评论

推荐用户

同系列书

  • Java Web程序设计教程

    陈沛强 谷灵康 金京犬

    本书作为Java Web程序设计的大学教程,对Java EE编程技术进行了系统全面的介绍。全书共分14章。首先...

    ¥48.00
  • C++程序设计——思想与方法 慕课版(第3版)

    翁惠玉 俞勇

    本书以C++语言为环境,重点讲授程序设计的思想和方法,包括过程化的程序设计和面向对象的程序设计,且本书非常强调...

    ¥49.80
  • 网页设计与制作(附微课视频 第2版)

    雷伟军

    本书依据教育部高等学校计算机基础课程教学指导委员会提出的《关于进一步加强高校计算机基础教学的意见》中有关“网页...

    ¥45.00
  • 数据结构与算法分析(C++语言版)

    张琨 张宏 朱保平

    本书共分10章,主要包括第1章绪论,第2章线性表,第3章栈和队列,第4章串,第5章数组和广义表,第6章 树和二...

    ¥45.00
  • 多媒体技术及应用

    李小英 谷长龙 段伟 蔡益红

    本书全面系统地介绍了多媒体技术的基础知识与应用软件的使用。全书共5章。第1章多媒体技术概论讲述了多媒体技术的基...

    ¥39.00

购买本书用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部