内容简介
第1篇 基础知识
第1章 数据库基础
1.1数据库系统概述
1.1.1数据库技术的发展
1.1.2数据库系统的组成
1.2数据模型
1.2.1数据模型的概念
1.2.2常见的数据模型
1.2.3关系数据库的规范化
1.2.4关系数据库的设计原则
1.2.5实体与关系
1.3数据库的体系结构
1.3.1数据库三级模式结构
1.3.2三级模式之间的映射
1.4小结
1.5实践与练习
第2章 初识MySQL
2.1了解MySQL
2.1.1 MySQL数据库的概念
2.1.2 MySQL的优势
2.1.3 MySQL的发展史
2.2 MySQL的特性
2.3 MySQL的应用环境
2.4 MySQL服务器的安装和配置
2.4.1 MySQL服务器下载
2.4.2 MySQL服务器安装
2.4.3启动、连接、断开和停止MySQL服务器
2.4.4打开MySQL 5.6 Command Line Client
2.5如何学好MySQL
2.6小结
2.7实践与练习
第3章 使用MySQL图形化管理工具
3.1 MySQL Workbench图形化管理工具
3.1.1了解MySQL Workbench
3.1.2创建数据库和数据表
3.1.3添加数据
3.1.4数据的导出和导入
3.2 phpMyAdmin图形化管理工具
3.2.1配置phpMyAdmin
3.2.2数据库操作管理
3.2.3管理数据表
3.2.4管理数据记录
3.2.5导出导入数据
3.2.6 phpMyAdmin设置编码格式
3.2.7 phpMyAdmin添加服务器新用户
3.2.8 phpMyAdmin中重置MySQL服务器登录密码
3.3小结
3.4实践与练习
第4章 数据库操作
4.1认识数据库
4.1.1数据库基本概念
4.1.2数据库常用对象
4.1.3系统数据库
4.2创建数据库
4.2.1通过CREATE DATABASE语句创建基本数据库
4.2.2通过CREATE SCHEMA语句创建基本数据库
4.2.3创建指定字符集的数据库
4.2.4创建数据库前判断是否存在同名数据库
4.3查看数据库
4.4选择数据库
4.5修改数据库
4.6删除数据库
4.7小结
4.8实践与练习
第5章 存储引擎及数据类型
5.1 MySQL存储引擎
5.1.1 MySQL存储引擎的概念
5.1.2查询MySQL中支持的存储引擎
5.1.3 InnoDB存储引擎
5.1.4 MyISAM存储引擎
5.1.5 MEMORY存储引擎
5.1.6如何选择存储引擎
5.1.7设置数据表的存储引擎
5.2 MySQL数据类型
5.2.1数字类型
5.2.2字符串类型
5.2.3日期和时间类型
5.3小结
5.4实践与练习
第6章 操作数据表
6.1创建数据表
6.2查看表结构
6.2.1使用SHOW COLUMNS语句查看
6.2.2使用DESCRIBE语句查看
6.3修改表结构
6.3.1添加新字段及修改字段定义
6.3.2修改字段名
6.3.3删除字段
6.3.4修改表名
6.4重命名表
6.5复制表
6.6删除表
6.7小结
6.8实践与练习
第2篇 核心技术
第7章MySQL基础
7.1运算符
7.1.1算术运算符
7.1.2比较运算符
7.1.3逻辑运算符
7.1.4位运算符
7.1.5运算符的优先级
7.2流程控制语句
7.2.1 IF语句
7.2.2 CASE语句
7.2.3 WHILE循环语句
7.2.4 LOOP循环语句
7.2.5 REPEAT循环语句
7.3小结
7.4实践与练习
第8章 表数据的增、删、改操作
8.1插入数据
8.1.1使用INSERT…VALUES语句插入数据
8.1.2使用INSERT…SET语句插入数据
8.1.3插入查询结果
8.2修改数据
8.3删除数据
8.3.1通过DELETE语句删除数据
8.3.2通过TRUNCATE TABLE语句删除数据
8.4小结
8.5实践与练习
第9章 数据查询
9.1基本查询语句
9.2单表查询
9.2.1查询所有字段
9.2.2查询指定字段
9.2.3查询指定数据
9.2.4带关键字IN的查询
9.2.5带关键字BETWEEN AND的范围查询
9.2.6带LIKE的字符匹配查询
9.2.7用关键字IS NULL查询空值
9.2.8带关键字AND的多条件查询
9.2.9带关键字OR的多条件查询
9.2.10用关键字DISTINCT去除结果中的重复行
9.2.11用关键字ORDER BY对查询结果排序
9.2.12用关键字GROUP BY分组查询
9.2.13用关键字LIMIT限制查询结果的数量
9.3聚合函数查询
9.3.1 COUNT()函数
9.3.2 SUM()函数
9.3.3 AVG()函数
9.3.4 MAX()函数
9.3.5 MIN()函数
9.4连接查询
9.4.1内连接查询
9.4.2外连接查询
9.4.3复合条件连接查询
9.5子查询
9.5.1带关键字IN的子查询
9.5.2带比较运算符的子查询
9.5.3带关键字EXISTS的子查询
9.5.4带关键字ANY的子查询
9.5.5带关键字ALL的子查询
9.6合并查询结果
9.7定义表和字段的别名
9.7.1为表取别名
9.7.2为字段取别名
9.8使用正则表达式查询
9.8.1匹配指定字符中的任意一个
9.8.2使用“*”和“+”来匹配多个字符
9.8.3匹配以指定的字符开头和结束的记录
9.9小结
9.10实践与练习
第10章 常用函数
10.1 MySQL函数
10.2数学函数
10.2.1 ABS(x)函数
10.2.2 FLOOR(x)函数
10.2.3 RAND()函数
10.2.4 PI()函数
10.2.5 TRUNCATE(x,y)函数
10.2.6 ROUND(x)函数和ROUN D(x,y)函数
10.2.7 SQRT(x)函数
10.3字符串函数
10.3.1 INSERT(s 1 ,x,len,s2)函数
10.3.2 UPPER(s)函数和UCASE(s)函数
10.3.3 LEFT(s,n)函数
10.3.4 RTRIM(s)函数
10.3.5 SUBSTRING(s,n,len)函数
10.3.6 REVERSE(s)函数
10.3.7 FIELD(s,s1,s2,…)函数
10.3.8 LOCATE(s1,s)函数、POSITION(s1 IN s)函数和INSTR(s,s 1)函数
10.4日期和时间函数
10.4.1 CURDATE()函数和CURRENT_ DATE()函数
10.4.2 CURTIME()函数和CURRENT_TIME()函数
10.4.3 NOW()函数
10.4.4 DATEDIFF(d1,d2)函数
10.4.5 ADDDATE(d,n)函数
10.4.6 ADDDATE(d,INTERVAL expr type)函数
10.4.7 SUBDATE(d,n)函数
10.5条件判断函数
10.6系统信息函数
10.6.1获取MySQL版本号、连接数和数据库名的函数
10.6.2获取用户名的函数
10.6.3获取字符串的字符集和排序方式的函数
10.7加密函数
10.7.1加密函数PASSWORD(str)
10.7.2加密函数MD5(str)
10.8其他函数
10.8.1格式化函数FORMAT(x,n)
10.8.2改变字符集的函数
10.8.3改变字段数据类型的函数
10.9小结
10.10实践与练习
第11章 索引
11.1索引概述
11.1.1 MySQL索引概述
11.1.2 MySQL索引分类
11.2创建索引
11.2.1在建立数据表时创建索引
11.2.2在己建立的数据表中创建索引
11.2.3修改数据表结构添加索引
11.3删除索引
11.4小结
11.5实践与练习
第12章 视图
12.1视图概述
12.1.1视图的概念
12.1.2视图的作用
12.2创建视图
12.2.1查看创建视图的权限
12.2.2创建视图的步骤
12.2.3创建视图的注意事项
12.3视图操作
12.3.1查看视图
12.3.2修改视图
12.3.3更新视图
12.3.4删除视图
12.4小结
12.5实践与练习
第3篇 高级应用
第13章 数据完整性约束
13.1定义完整性约束
13.1.1实体完整性
13.1.2参照完整性
13.1.3用户定义完整性
13.2命名完整性约束
13.3更新完整性约束
13.3.1删除完整性约束
13.3.2修改完整性约束
13.4小结
13.5实践与练习
第14章 存储过程与存储函数
14.1创建存储过程和存储函数
14.1.1创建存储过程
14.1.2创建存储函数
14.1.3变量的应用
14.1.4光标的运用
14.2存储过程和存储函数的调用
14.2.1调用存储过程
14.2.2调用存储函数
14.3查看存储过程和存储函数
14.3.1 SHOW STATUS语句
14.3.2 SHOW CREATE语句
14.4修改存储过程和存储函数
14.5删除存储过程和存储函数
14.6小结
14.7实践与练习
第15章 触发器
15.1 MySQL触发器
15.1.1创建MySQL触发器
15.1.2创建具有多条执行语句的触发器
15.2查看触发器
15.2.1 SHOW TRIGGERS
15.2.2查看triggers表中触发器信息
15.3使用触发器
15.4删除触发器
15.5小结
15.6实践与练习
第16章 事务的应用
16.1 MySQL事务概述
16.1.1原子性
16.1.2一致性
16.1.3孤立性
16.1.4持久性
16.2 MySQL事务的创建与存在周期
16.2.1初始化事务
16.2.2创建事务
16.2.3应用SELECT语句查询数据是否被正确录入
16.2.4提交事务
16.2.5撤销事务(事务回滚)
16.2.6事务的存在周期
16.3 MySQL事务行为
16.3.1自动提交
16.3.2事务的孤立级
16.3.3修改事务的孤立级
16.4事务的性能
16.4.1应用小事务
16.4.2选择合适的孤立级
16.4.3死锁的概念与避免
16.5 MySQL伪事务
16.5.1用表锁定代替事务
16.5.2应用表锁实现伪事务
16.6小结
16.7实践与练习
第17章 事件
17.1事件概述
17.1.1查看事件是否开启
17.1.2开启事件
17.2创建事件
17.3修改事件
17.4删除事件
17.5小结
17.6实践与练习
第18章 备份与恢复
18.1数据备份
18.1.1使用mysqldump命令备份
18.1.2直接复制整个数据库目录
18.1.3使用mysqlhotcopy工具快速备份
18.2数据恢复
18.2.1使用mysql命令还原
18.2.2直接复制到数据库目录
18.3数据库迁移
18.3.1相同版本的MySQL数据库之间的迁移
18.3.2不同数据库之间的迁移
18.4表的导出和导入
18.4.1用SELECT…INTO OUTFILE导出文本文件
18.4.2用mysqldump命令导出文本文件
18.4.3用mysql命令导出文本文件
18.4.4用LOAD DATA INFILE命令将文本文件导入到数据表
18.4.5用mysqlimport命令导入文本文件
18.5小结
18.6实践与练习
第19章MySQL性能优化
19.1优化概述
19.2优化查询
19.2.1分析查询语句
19.2.2索引对查询速度的影响
19.2.3使用索引查询
19.3优化数据库结构
19.3.1将字段很多的表分解成多个表
19.3.2增加中间表
19.3.3优化插入记录的速度
19.3.4分析表、检查表和优化表
19.4查询高速缓存
19.4.1检验高速缓存是否开启
19.4.2使用高速缓存
19.5优化多表查询
19.6优化表设计
19.7小结
19.8实践与练习
第20章 权限管理及安全控制
20.1安全保护策略概述
20.2用户和权限管理
20.2.1使用CREATE USER命令创建用户
20.2.2使用DROP USER命令删除用户
20.2.3使用RENAME USER命令重命名用户
20.2.4 GRANT和REVOKE命令
20.3 MySQL数据库安全常见问题
20.3.1权限更改何时生效
20.3.2设置账户密码
20.3.3使密码更安全
20.4状态文件和日志文件
20.4.1进程ID文件
20.4.2日志文件管理
20.5小结
20.6实践与练习
第21章 PHP管理MySQL数据库中的数据
21.1 PHP语言概述
21.1.1 PHP的概念
21.1.2 PHP的特点
21.1.3 PHP的工作原理
21.1.4 PHP结合数据库应用的优势
21.2 PHP操作MySQL数据库的基本步骤
21.3使用PHP操作MySQL数据库
21.3.1应用mysql connect()函数连接MySQL服务器
21.3.2应用mysql_ select_ db()函数选择MySQL数据库
21.3.3应用mysql_query()函数执行SQL语句
21.3.4应用mysql_ fetch_ array()函数将结果集返回到数组中
21.3.5应用mysql_ fetch_ object()函数从结果集中获取一行作为对象
21.3.6应用mysql_ fetch row()函数从结果集中获取一行作为枚举数组
21.3.7应用mysql_ num rows()函数获取查询结果集中的记录数
21.3.8应用mysql_free_ result()函数释放内存
21.3.9应用mysql close()函数关闭连接
21.4 PHP管理MySQL数据库中的数据
21.4.1向数据库中添加数据
21.4.2浏览数据库中的数据
21.4.3编辑数据库数据
21.4.4删除数据
21.4.5批量删除数据
21.5 PHP操作MySQL事务
21.6 PHP操作MySQL存储过程
21.7常见问题与解决方法
21.7.1 MySQL服务器无法连接
21.7.2用户无权限访问MySQL服务器
21.7.3提示mysql_ connect函数未定义
21.7.4 SQL语句出错或没有返回正确的结果
21.7.5数据库乱码问题
21.7.6应用MYSQL_ ERROR()语句输出错误信息
21.8小结
21.9实践与练习
第4篇 项目实战
第22章Apache+PHP+MySQL实现网上社区
22.1开发背景
22.2系统分析
22.2.1需求分析
22.2.2可行性分析
22.3系统设计
22.3.1系统目标
22.3.2系统功能结构
22.3.3系统预览
22.3.4开发环境
22.3.5文件夹组织结构
22.4在Linux操作系统下搭建PHP开发环境
22.4.1 Linux下Apache的安装配置
22.4.2 Linux下MySQL的安装配置
22.4.3 Linux下PHP的安装配置
22.5数据库设计
22.5.1数据库分析
22.5.2数据库概念设计
22.5.3创建数据库及数据表
22.6公共模块设计
22.6.1数据库连接文件
22.6.2将文本中的字符转换为HTML标识符
22.7前台首页设计
22.7.1前台首页概述
22.7.2前台首页技术分析
22.7.3前台首页的实现过程
22.8注册模块设计
22.8.1注册模块概述
22.8.2注册模块技术分析
22.8.3注册模块的实现过程
22.9技术支持模块设计
22.9.1技术支持模块概述
22.9.2技术支持模块技术分析
22.9.3常见问题的实现过程
22.9.4客户反馈的实现过程
22.10在线订购模块设计
22.10.1在线订购模块概述
22.10.2在线订购模块技术分析
22.10.3购物车的实现过程
22.10.4商品订单的实现过程
22.10.5在线支付的实现
22.11社区论坛模块设计
22.11.1社区论坛模块概述
22.11.2社区论坛模块技术分析
22.11.3论坛分类的实现过程
22.11.4论坛帖子浏览的实现过程
22.11.5论坛帖子发布的实现过程
22.11.6论坛帖子回复的实现过程
22.12后台首页设计
22.12.1后台首页概述
22.12.2后台首页技术分析
22.12.3后台首页的实现过程
22.13编程词典管理模块设计
22.13.1编程词典管理模块概述
22.13.2编程词典管理模块技术分析
22.13.3添加编程词典的实现过程
22.13.4编辑编程词典的实现过程
22.14软件升级管理模块设计
22.14.1软件升级管理模块概述
22.14.2软件升级管理模块技术分析
22.14.3软件升级包上传的实现过程
22.14.4软件升级包删除的实现过程
22.15在Linux系统下发布网站
22.16开发技巧与难点分析
22.16.1管理员权限的设置
22.16.2帖子置顶的设置
22.16.3解决提示“客户反馈发表失败!”的问题
22.16.4解决指定商品没有被删除的问题
22.16.5解决发帖和回帖时上传的图片不能够正常显示的问题
22.17小结
第23章Struts 2+Spring+Hibernate+MySQL实现网络商城
23.1开发背景
23.2系统分析
23.2.1需求分析
23.2.2可行性分析
23.3系统设计
23.3.1功能结构图
23.3.2系统流程图
23.3.3开发环境
23.3.4文件夹组织结构
23.3.5系统预览
23.4数据库设计
23.4.1数据库概念设计
23.4.2创建数据库及数据表
23.5公共模块的设计
23.5.1泛型工具类
23.5.2数据持久化类
23.5.3分页操作
23.5.4字符串工具类
23.5.5实体映射
23.6项目环境搭建
23.6.1配置Struts 2
23.6.2配置Hibernate
23.6.3配置Spring
23.6.4配置web.xml
23.7登录注册模块设计
23.7.1模块概述
23.7.2注册模块的实现
23.8前台商品信息查询模块设计
23.8.1模块概述
23.8.2前台商品信息查询模块技术分析
23.8.3商品搜索的实现
23.8.4前台商品其他查询的实现
23.9购物车模块设计
23.9.1模块概述
23.9.2购物车模块技术分析
23.9.3购物车基本功能的实现
23.9.4订单相关功能的实现
23.10后台商品管理模块设计
23.10.1模块概述
23.10.2后台商品管理模块技术分析
23.10.3商品管理功能的实现
23.10.4商品类别管理功能的实现
23.11后台订单管理模块的设计
23.11.1模块概述
23.11.2后台订单管理模块技术分析
23.11.3后台订单查询的实现
23.12开发技巧与难点分析
23.12.1解决订单号为空时查询报错
23.12.2通过Struts 2的拦截器来解决Session超时出现空指针异常的问题
23.13小结