《MySQL核心技术与最佳实践》(孔祥盛 编著)【文字版_PDF电子书_下载】

《MySQL核心技术与最佳实践》封面图片

内容简介:

作为世界上最受欢迎的开源数据库管理系统,MySQL具有成本低廉、体积小、便于安装、性能优越、功能强大等特点,很多企业将MySQL作为最佳数据库管理系统。《MySQL核心技术与最佳实践》从关系数据库设计、MySQL基础、MySQL编程、MySQL管理及维护4个角度,深入浅出地对MySQL的核心技术进行了详细的介绍,并通过综合实训提供了MySQL核心技术的最佳实践。

《MySQL核心技术与最佳实践》尽量将抽象问题形象化、具体化,复杂问题图形化、简单化,突出自学和模仿的特点,内容丰富,讲解深入,具有很强的实战性和可操作性。《MySQL核心技术与最佳实践》入门门槛低,适合所有数据库初学者快速入门,非常适合用做培训机构的培训资料。

《MySQL核心技术与最佳实践》内容丰富、讲解深入,非常适合数据库开发人员、数据库管理人员以及其他数据库从业人员阅读,同时也是面向广大数据库爱好者的实用参考书。

目  录:

第一篇关系数据库设计

第1章数据库设计概述

1.1数据库概述

1.1.1关系数据库管理系统

1.1.2关系数据库

1.1.3结构化查询语言SQL

1.2数据库设计的相关知识

1.2.1商业知识和沟通技能

1.2.2数据库设计辅助工具

1.2.3"选课系统"概述

1.2.4定义问题域

1.2.5编码规范

1.3E-R图

1.3.1实体和属性

1.3.2关系

1.3.3E-R图的设计原则

1.4关系数据库设计

1.4.1为每个实体建立一张数据库表

1.4.2为每张表定义一个主键

1.4.3增加外键表示一对多关系

1.4.4建立新表表示多对多关系

1.4.5为字段选择合适的数据类型

1.4.6定义约束(constraint)条件

1.4.7评价数据库表设计的质量

1.4.8使用规范化减少数据冗余

1.4.9避免数据经常发生变化

习题

第二篇MySQL基础

第2章MySQL基础知识

2.1MySQL概述

2.1.1MySQL的特点

2.1.2MySQL服务的安装

2.1.3MySQL服务的配置

2.1.4启动与停止MySQL服务

2.1.5MySQL配置文件

2.1.6MySQL客户机

2.1.7连接MySQL服务器

2.2字符集以及字符序设置

2.2.1字符集及字符序概念

2.2.2MySQL字符集与字符序

2.2.3MySQL字符集的转换过程

2.2.4MySQL字符集的设置

2.2.5SQL脚本文件

2.3MySQL数据库管理

2.3.1创建数据库

2.3.2查看数据库

2.3.3显示数据库结构

2.3.4选择当前操作的数据库

2.3.5删除数据库

2.4MySQL表管理

2.4.1MyISAM和InnoDB存储引擎

2.4.2设置默认的存储引擎

2.4.3创建数据库表

2.4.4显示表结构

2.4.5表记录的管理

2.4.6InnoDB表空间

2.4.7删除表

2.5系统变量

2.5.1全局系统变量与会话系统变量

2.5.2查看系统变量的值

2.5.3设置系统变量的值

2.6MySQL数据库备份和恢复

习题

第3章MySQL表结构的管理

3.1MySQL数据类型

3.1.1MySQL整数类型

3.1.2MySQL小数类型

3.1.3MySQL字符串类型

3.1.4MySQL日期类型

3.1.5MySQL复合类型

3.1.6MySQL二进制类型

3.1.7选择合适的数据类型

3.2创建表

3.2.1设置约束

3.2.2设置自增型字段

3.2.3其他选项的设置

3.2.4创建"选课系统"数据库表

3.2.5复制一个表结构

3.3修改表结构

3.3.1修改字段相关信息

3.3.2修改约束条件

3.3.3修改表的其他选项

3.3.4修改表名

3.4删除表

3.5索引

3.5.1理解索引

3.5.2索引关键字的选取原则

3.5.3索引与约束

3.5.4创建索引

3.5.5删除索引

习题

第4章表记录的更新操作

4.1表记录的插入

4.1.1使用insert语句插入新记录

4.1.2更新操作与字符集

4.1.3关于自增型字段

4.1.4批量插入多条记录

4.1.5使用insert…select插入结果集

4.1.6使用replace插入新记录

4.2表记录的修改

4.3表记录的删除

4.3.1使用delete删除表记录

4.3.2使用truncate清空表记录

4.4MySQL特殊字符序列

习题

第5章表记录的检索

5.1select语句概述

5.1.1使用select子句指定字段列表

5.1.2使用谓词过滤记录

5.1.3使用from子句指定数据源

5.1.4多表连接

5.2使用where子句过滤结果集

5.2.1使用单一的条件过滤结果集

5.2.2is NULL运算符

5.2.3select语句与字符集

5.2.4使用逻辑运算符

5.2.5使用like进行模糊查询

5.3使用order by子句对结果集排序

5.4使用聚合函数汇总结果集

5.5使用group by子句对记录分组统计

5.5.1group by子句与聚合函数

5.5.2group by子句与having子句

5.5.3group by子句与group_concat()函数

5.5.4group by子句与with rollup选项

5.6合并结果集

5.7子查询

5.7.1子查询与比较运算符

5.7.2子查询与in运算符

5.7.3子查询与exists逻辑运算符

5.7.4子查询与any运算符

5.7.5子查询与all运算符

5.8选课系统综合查询

5.9使用正则表达式模糊查询

5.10全文检索

5.10.1全文检索的简单应用

5.10.2全文检索方式

5.10.3布尔检索模式的复杂应用

5.10.4MySQL全文检索的注意事项

5.10.5InnoDB表的全文检索

习题

第三篇MySQL编程

第6章MySQL编程基础

6.1MySQL编程基础知识

6.1.1常量

6.1.2用户自定义变量

6.1.3运算符与表达式

6.1.4begin-end语句块

6.1.5重置命令结束标记

6.2自定义函数

6.2.1创建自定义函数的语法格式

6.2.2函数的创建与调用

6.2.3函数的维护

6.2.4条件控制语句

6.2.5循环语句

6.3系统函数

6.3.1数学函数

6.3.2字符串函数

6.3.3数据类型转换函数

6.3.4条件控制函数

6.3.5系统信息函数

6.3.6日期和时间函数

6.3.7其他常用的MySQL函数

6.4中文全文检索的模拟实现

习题

第7章视图与触发器

7.1视图

7.1.1创建视图

7.1.2查看视图的定义

7.1.3视图在"选课系统"中的应用

7.1.4视图的作用

7.1.5删除视图

7.1.6检查视图

7.1.7local与cascade检查视图

7.2触发器

7.2.1准备工作

7.2.2使用触发器实现检查约束

7.2.3使用触发器维护冗余数据

7.2.4使用触发器模拟外键级联选项

7.2.5查看触发器的定义

7.2.6删除触发器

7.2.7使用触发器的注意事项

7.3临时表

7.3.1临时表概述

7.3.2临时表的创建、查看与删除

7.3.3"选课系统"中临时表的使用

7.3.4使用临时表的注意事项

7.4派生表(derived table)

7.5子查询、视图、临时表、派生表

习题

第8章存储过程与游标

8.1存储过程

8.1.1创建存储过程的语法格式

8.1.2存储过程的调用

8.1.3"选课系统"的存储过程

8.1.4查看存储过程的定义

8.1.5删除存储过程

8.1.6存储过程与函数的比较

8.2错误触发条件和错误处理

8.2.1自定义错误处理程序

8.2.2自定义错误触发条件

8.2.3自定义错误处理程序说明

8.3游标

8.3.1使用游标

8.3.2游标在"选课系统"中的使用

8.4预处理SQL语句

8.4.1预处理SQL语句使用步骤

8.4.2"选课系统"中预处理SQL语句的使用

8.4.3预处理SQL语句的复杂应用

8.4.4静态SQL语句与预处理SQL语句

8.5存储程序的说明

习题

第9章事务机制与锁机制

9.1事务机制

9.1.1事务机制的必要性

9.1.2关闭MySQL自动提交

9.1.3回滚

9.1.4提交

9.1.5事务

9.1.6保存点

9.1.7"选课系统"中的事务

9.2锁机制

9.2.1锁机制的必要性

9.2.2MySQL锁机制的基础知识

9.2.3MyISAM表的表级锁

9.2.4InnoDB表的行级锁

9.2.5"选课系统"中的行级锁

9.2.6InnoDB表的意向锁

9.2.7InnoDB行级锁与索引之间的关系

9.2.8间隙锁与死锁

9.2.9死锁与锁等待

9.3事务的ACID特性

9.3.1事务的ACID特性

9.3.2事务的隔离级别与并发问题

9.3.3设置事务的隔离级别

9.3.4使用间隙锁避免幻读现象

9.4事务与锁机制注意事项

习题

第四篇综合实训

第10章网上选课系统的开发

10.1PHP预备知识

10.1.1为何选用B/S结构以及PHP脚本语言

10.1.2PHP脚本语言概述

10.1.3PHP脚本程序的工作流程

10.1.4Web服务器的部署

10.1.5注意事项

10.2软件开发生命周期SDLC

10.3网上选课系统的系统规划

10.3.1网上选课系统的目标

10.3.2网上选课系统的可行性分析

10.3.3网上选课系统的项目进度表

10.3.4网上选课系统的人员分工

10.4网上选课系统的系统分析

10.4.1网上选课系统的功能需求分析

10.4.2网上选课系统的非功能需求分析

10.5网上选课系统的系统设计

10.6网上选课系统的系统实施

10.6.1准备工作

10.6.2制作PHP连接MySQL服务器函数

10.6.3制作PHP权限系统函数

10.6.4首页index.php的开发

10.6.5教师注册模块的开发

10.6.6登录模块的开发

10.6.7注销模块的开发

10.6.8添加班级模块的开发

10.6.9学生注册模块的开发

10.6.10密码重置模块

10.6.11申报课程模块

10.6.12课程列表显示模块

10.6.13审核申报课程

10.6.14取消已审核课程

10.6.15浏览自己申报的课程

10.6.16删除课程

10.6.17学生选修或者调换已经审核的课程

10.6.18查看自己选修的课程

10.6.19取消选修课程

10.6.20查看课程的学生信息列表

10.6.21查看选修人数少于30人的课程信息

10.7界面设计与MVC模式

10.8网上选课系统的测试

习题

第五篇MySQL管理及维护

第11章MySQL日志与事件

11.1MySQL日志

11.1.1数据皆需要缓存

11.1.2MySQL错误日志

11.1.3MySQL普通查询日志

11.1.4MySQL慢查询日志

11.1.5MySQL慢查询日志的查看

11.2二进制日志

11.2.1启动二进制日志

11.2.2二进制日志文件内容的查看

11.2.3获取当前的二进制日志文件及偏移位置

11.2.4使用二进制日志恢复数据库

11.2.5与MySQL二进制日志有关的参数

11.2.6二进制日志的清理

11.3InnoDB事务日志

11.4日志文件的备份

11.5MySQL事件

11.5.1创建MySQL事件

11.5.2开启MySQL事件调度器

11.5.3查看MySQL事件的定义

11.5.4删除MySQL事件的定义

习题

第12章MySQL备份与恢复

12.1备份与恢复概述

12.1.1防止数据丢失的方法

12.1.2数据备份概述

12.2逻辑备份与逻辑恢复

12.2.1使用select…into outfile…备份表数据

12.2.2恢复表数据

12.2.3使用mysqldump备份数据库

12.2.4逻辑备份综合示例

12.2.5二进制日志恢复数据库的综合示例

12.3物理备份与热备份

12.3.1物理备份的所需文件

12.3.2MyISAM表物理备份、热备份工具

12.3.3InnoDB表物理备份、热备份工具

12.3.4Xtrabackup的工作原理

12.3.5使用Xtrabackup实现完全备份与增量备份

12.3.6使用Xtrabackup实现数据库恢复

12.4MySQL复制(replication)

12.4.1MySQL复制的实现原理

12.4.2MySQL复制的实现

12.4.3复制线程的状态

12.4.4与复制有关的文件

12.4.5复制的配置

12.4.6MySQL复制模式

12.4.7自增型字段冲突问题

12.4.8事件损坏

12.4.9小结

12.5备份策略

习题

第13章MySQL安全管理

13.1MySQL安全管理

13.2MySQL账户与权限表

13.2.1grant命令语法格式

13.2.2创建MySQL服务实例级别的账户

13.2.3创建MySQL数据库级别的账户

13.2.4创建MySQL表级别的账户

13.2.5创建MySQL字段级别的账户

13.2.6创建MySQL存储程序级别的账户

13.2.7注意事项

13.2.8host权限表

13.3MySQL账户管理

13.3.1使用create user创建MySQL账户

13.3.2查看MySQL账户信息

13.3.3删除已有账户

13.3.4修改已有账户的信息

13.3.5MySQL账户的资源次数限制

13.3.6使用更新语句修改MySQL账户信息

13.3.7权限的生效时机

13.4MySQL安全管理的注意事项

13.4.1MySQL账户名重名问题

13.4.2root账号密码丢失问题

13.4.3消除MySQL安全隐患

13.4.4MySQL安全管理的其他注意事项

习题

第14章MySQL优化

14.1基础知识

14.1.1影响数据库系统性能的组件

14.1.2参数信息与状态信息

14.1.3缓存机制

14.1.4缓存的分类

14.1.5超时

14.2MySQL连接的优化

14.3缓存的优化

14.3.1查询缓存Query Cache

14.3.2结果集缓存

14.3.3排序缓存

14.3.4join连接缓存

14.3.5表缓存Cache与表结构定义缓存Cache

14.3.6表扫描缓存buffer

14.3.7MyISAM索引缓存buffer

14.3.8日志缓存

14.3.9预读机制

14.3.10延迟更新

14.3.11内存表与临时表

14.4InnoDB优化

14.4.1InnoDB缓存池

14.4.2InnoDB缓存池内部结构

14.4.3InnoDB缓存池预热

14.4.4InnoDB缓存池的状态信息

14.4.5常见的InnoDB参数设置

14.4.6InnoDB实时监控

14.5优化表

14.5.1优化表结构

14.5.2表的拆分

14.5.3分区

14.5.4表分析与表检查

14.5.5NULL值对统计信息的影响

14.5.6记录的格式

14.6SQL语句优化

14.6.1了解SQL的执行频率

14.6.2定位执行效率较低的SQL语句

14.6.3分析select语句

14.6.4索引与select语句

14.6.5分页与select

14.6.6SQL语句其他注意事项

14.6.7profiling性能分析工具

14.7锁资源的优化

14.7.1表级锁资源竞争

14.7.2表级锁资源竞争的解决方案

14.7.3行级锁的资源竞争

14.7.4行级锁资源竞争的解决方案

14.7.5禁用InnoDB间隙锁

14.7.6事务监控与锁监控

14.7.7元数据锁metadata locks

第15章MySQL Cluster

15.1MySQL Cluster简介

15.1.1MySQL集群的组成

15.1.2MySQL集群架构

15.2MySQL Cluster环境搭建

15.2.1准备工作

15.2.2数据节点的配置

15.2.3SQL节点的配置

15.2.4管理节点的配置

15.2.5MySQL集群的启动

15.2.6集群测试

参考文献

已经过安全软件检测无毒,请您放心下载。