
MySQL实用教程(第2版)以当前最流行MySQL5.6作为平台,分为4个部分,它们分别是MySQL综述 (含习题)、MySQL实验、综合应用练习和附录。在系统介绍MySQL功能的基础上,通过实验进行操作练习和消化理解。同时系统介绍目前最流行的PHP、ASP.NET(C#)、JavaEE、Visual C++和Visual Basic等应用MySQL数据库的方法。通过本书学习模仿,基本掌握了当前几个流行平台开发MySQL数据库应用系统的方法,比较好地解决了MySQL“学”和“用”的问题。 本书可作为大学本科、高职高专有关课程教材,也可供广大数据库应用开发人员使用或参考。
前言 MySQL是当前最流行的数据库管理系统,因为除了开放的源代码以外,更重要的是简单、方便,而且随着版本的升级,它的功能越来越完善。2009年,我们编写《MySQL实用教程》,由于在MySQL数据库管理系统及其应用的结合上具有明显特色,受到市场广泛欢迎,已经重印9次。 《MySQL实用教程》(第2版)在继承《MySQL实用教程》特点的基础上,结合当前数据库教学和应用开发实践,在MySQL最新版本的基础上,系统进行组织、更新、完善。主要包括以下几个方面: (1)系统介绍MySQL5.6,首先介绍数据库的基本概念,为学习MySQL打下更加坚实的基础。然后分门别类地介绍创建数据库和表、表数据操作、数据库的查询和视图、索引与数据完整性、MySQL语言结构、过程式数据库对象、备份与恢复、用户和数据安全性、事务和多用户使用等。MySQL实例命令结果屏幕化,直观清晰。 (2)简明介绍当前最流行的4种MySQL管理工具,入门部分放在前面章节介绍,为后面应用打好基础,提高操作平台,MySQL管理工具其他功能操作方法在附录中列出。 (3)综合应用实习包含目前最流行的PHP、ASP.NET(C#)、JavaEE、Visual C++和Visual Basic等方面操作MySQL数据库。每一个实习都构成了一个小的应用系统,功能基本相同,并且包含操作数据库的主要功能。 本书基础和应用于一体,系统性、应用性均比较完善。由于本书的内容体系具有自己的特色,并且从方便教和学两个角度组织内客、调试实例和安排先后顺序,所以用本书教和学比较方便,请用户自己比较选择。 本书配有教学课件和配套的客户端/MySQL应用系统数据库和所有源程序文件,需要者请到华信教育资源网(http://www.hxedu.com.cn)进行免费下载。 本书由郑阿奇(南京师范大学)主编,参加本系列教程编写的还有顾韵华、梁敬东、王洪元、刘启芬、丁有和、曹弋、徐文胜、殷红先、张为民、姜乃松、钱晓军、彭作民、高茜、陈冬霞、徐斌、王志瑞、孙德荣、周怡明、刘博宇、郑进、刘毅、周何骏、陶卫冬、严大牛、邓拼博、俞琰、王守芳、周怡君、吴明祥、于金彬、陈瀚、马俊等。 由于我们的水平有限,错误在所难免,敬请广大师生、读者批评指正。 意见建议邮箱:easybooks@163.com 编 者
第一部分 MySQL综述 第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 MySQL Administrator官方工具 24 2.2.1 下载和安装 24 2.2.2 创建数据库 25 2.2.3 建立、删除和修改表 26 2.2.4 操作表中的记录 28 2.3 MySQL Workbench图形化管理工具 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 GROUP BY子句 96 4.2.6 HAVING子句 98 4.2.7 ORDER BY子句 99 4.2.8 LIMIT子句 100 4.2.9 UNION语句 101 4.2.10 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 ANALYZE TABLE语句 205 9.3.2 CHECK TABLE语句 206 9.3.3 CHECKSUM TABLE语句 207 9.3.4 OPTIMIZE TABLE语句 207 9.3.5 REPAIR TABLE语句 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实验 实验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 第三部分 综合应用练习 实习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 连接MySQL 5数据库 402 P5.2 学生成绩管理系统主界面 406 P5.3 学生信息查询 408 P5.4 学生信息修改 411 P5.5 学生成绩的录入 415 第四部分 附录 附录A 学生成绩数据库(库名XSCJ)表结构样本数据 418 附录B MySQL Administrator操作 423 附录C MySQL Workbench操作 430 附录D Navicat操作 435 附录E phpMyAdmin操作 440
南京师范大学教师,江苏省优秀教学成果奖,中国电子教育学会教材评审一等奖。出版有高等学校计算机教材系列,高等学校计算机应用实践教程系列,高职高专规划教材系列。
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0232700