前言
MySQL是PHP Web开发首选的数据库系统。目前很多科技公司的Web应用项目开发已经或正在转向PHP。为了适应这一市场需求,国内各大培训机构都开设了PHP课程,其中也涵盖了MySQL课程。
无论是即将走向工作岗位的学生,还是IT(信息技术)公司的开发人员,很多人都在学习MySQL数据库,因此,如何降低学习MySQL的门槛并快速将其应用于实践,已成为市场所需。
本书的写作宗旨主要有以下3条。
· 贴近实战。书中所用实例和数据均来自真实环境中的系统,其目的是让读者切身感受如何在真实环境中使用SQL语句操作数据库,并在实战中掌握MySQL的用法。
· 同时兼顾初学者和进阶者的需求。本书涵盖了从基础知识到MySQL高级概念和用法在内的所有内容,确保初学者和进阶者各取所需,从而提升技能。
· 用实例来验证所学知识。书中每个知识点至少使用一个实例进行验证和测试,以确保实例的可行性和实例结果的可再现性。
本书组织结构
本书内容涵盖了使用MySQL进行数据库开发的绝大部分知识,从数据库的基础知识(如基本管理、权限设置和基本操作)到数据库的高级操作(如多表操作、工作机制分析、存储过程、数据库的备份和性能优化)。本书共分为18章,主要内容如下。
第1章“数据库入门”:本章简要介绍了数据库的发展史,讲解在开发中使用数据库的原因、优点、重要性和特点以及在众多的数据库产品中如何学习和使用MySQL。
第2章“MySQL基本管理”:本章介绍MySQL的客户端与服务器端的概念、MySQL数据库服务器的启动与停止,以及数据库的基本使用等。
第3章“MySQL账户权限设置”:本章讲解MySQL账户权限与设置,包括MySQL权限系统、权限操作,丢失MySQL ROOT密码的解决方法等,同时本章给出了各种各样的权限操作样本,方便读者在实际应用中参考与借鉴。
第4章“MySQL数据库表列的数据类型”:本章讲解MySQL表列的各种数据类型,包括数值、字符串、列类型属性ZEROFILL(填充0)、UNSIGNED(无符号)和SIGNED(有符号)、TEXT与BLOG类型、ENUM与SET类型、网站中常用的数据类型、DEFAULT(默认)等。
第5章“MySQL表结构的维护”:本章深入地讲解MySQL数据库表的维护(创建与修改),尤其是涉及相关字符集的调整,包括表字段、主键的添加与删除、表列的重命名与改变数据类型、普通索引、唯一索引的添加与删除,以及数据库、表、列字符集的调整及其适用场景等。
第6章“MySQL的索引”:本章对MySQL数据库的索引进行详细介绍,尤其是UNIQUE唯一索引、PRIMARY KEY主键索引、AUTO_INCREMENT自增序列(相当于Oracle的SEQUENCE序列)以及它们的适用场景。
第7章“MySQL的基本查询”:本章将对MySQL数据库查询所涉及的全部内容做出详细说明,包括SELECT、INSERT、DELETE、UPDATE这些主语及它们的谓词(WHERE限制条件),谓词关键字(AND、OR、IN、LIKE、BETWEEN...END、EXISTS、ORDER BY、GROUP BY、LIMIT等)。除此以外,还要对流程控制函数(IF()、IFNULL()等)、有关函数(CONCAT()、GROUP_CONCAT()、FIND_IN_SET()、RAND()等)、REGEXP正则的使用给出详细说明。在本章中,还要给出排名应用案例SQL语句,读者可以进行研究、参考、借鉴。
第8章“MySQL数据库的字符集设计”:本章对MySQL数据库的二进制数据类型、二进制字符串、各类字符集、二进制数据类型与字符集、它们的适用场景等内容进行详细介绍。
第9章“MySQL的增加、删除和修改操作”:本章对MySQL数据库增加、删除和修改的严格与宽松模式及它们的基本操作、左右全外连接操作等内容进行详细介绍。同时,给出具体的示例、实例以及应用案例等。
第10章“MySQL的流程控制与函数”:本章从MySQL编程角度出发,讲解MySQL数据库的流程控制和各种函数处理及用法,包括各类操作符介绍、流程控制语句、流程控制函数、字符串处理函数、数学函数、日期与时间函数等,并提供大量的示例供读者参考与借鉴。
第11章“MySQL的日期与时间”:本章把MySQL的日期和时间作为一个专题进行详细介绍,包括日期与时间数据类型及其适用场景、各种日期格式设置与显示、时间间隔的概念及运算、以及日期的加减运算等,同时提供大量的示例供读者参考和借鉴。
第12章“MySQL的分组与统计”:本章将MySQL的分组与统计运算作为一个专题进行详细介绍,包括COUNT()函数、DISTINCT与COUNT()函数连用、GROUP BY与COUNT()函数连用、CASE WHEN语句与COUNT()函数连用、GROUP BY与聚集函数(MIN()、MAX()、AVG()、SUM())连用、GROUP BY的HAVING分组结果的筛选等,同时提供了大量的示例、范例供读者参考和借鉴。
第13章“MySQL的多表联合操作”:本章把MySQL的多表联合操作处理作为一个专题进行详细介绍,包括数据库的约束、表间的一对一、一对多和多对多关联关系、多表操作应用实例、多表查询适用场景等,同时提供大量的范例及摘自一个在用系统中的经典SQL语句供读者参考和借鉴。
第14章“MySQL工作机制”:本章重点讨论MySQL的工作机制,包括MySQL的线程分析、MySQL的共享锁与排他锁、MySQL的表级锁、页级锁与行级锁、MySQL存储引擎和事务、MySQL的事务处理等。本章内容涉及MySQL的初级原理,适合DBA的读者,作为数据库的使用者也有必要了解一下,为数据库的性能优化及写出良好的应用程序打好基础。
第15章“MySQL存储引擎”:本章将重点讨论MySQL的存储引擎,包括MySQL所涉及的存储引擎种类、引擎更换、引擎添加与拔出、数据文件的存放位置、引擎的应用场景等。本章涉及MySQL原理性的内容,适合DBA的读者,作为数据库的普通使用者也有必要了解一下,为数据库的性能优化及写出良好的应用程序打好基础。
第16章“MySQL视图、存储程序”:本章将重点阐述MySQL数据库编程,进一步了解数据库的应用,体现数据库为应用项目开发所提供的解决方案。这些解决方案主要体现在存储过程、函数、触发器的灵活运用上。
第17章“MySQL备份与恢复”:本章重点讲解MySQL数据库的备份与恢复,包括MySQLDump
与BingLog两种方式对MySQL数据库进行备份与恢复操作等。
第18章“全解MySQL性能优化”:SQL优化是任何数据库永恒的话题,MySQL也不例外。SQL语句的书写,里面包含了很大的学问。完成同样的查询,可以有多种不同的写法。在这些写法中,哪种写法最优就是本章所要讨论的问题。与此同时,本章还要阐述与MySQL数据库性能优化相关的问题,全解提高MySQL执行效率与优化运行状态分析,包括数据库架构的选择、表字段类型的选择、数据库索引对性能的影响、查询优化技术等。
读者对象
本书内容翔实,实例丰富,适合MySQL开发人员阅读,同时也适合作为各大中专院校数据库相关专业的师生提升数据库知识水平的延伸读物。