编辑推荐
MySQL是一个开源关系数据库管理系统,它越来越受欢迎而且应用范围也越来越广泛。众所周知,MySQL的主要优势在于速度和易用性,而且事实证明,它也特别适合用于开发各种后台依托于数据库的网站和应用程序。从普通硬件环境到企业服务器,MySQL都可以顺畅地运行,其性能不亚于任何一个与之抗衡的数据库系统,并且它能够处理拥有数十亿行的大型数据库。随着越来越多的公司和大型组织发现MySQL完全能够满足自己的数据库处理需求,且付出的商业许可和支持成本仅仅是以往的一小部分,MySQL的用户量还将持续增长。
在本书中,作者提供了关于如何高效使用和管理MySQL的全面指南。全书的内容包括信息入库和查询组织等基础操作、将MySQL和PHP(或Perl)结合在一起生成动态网页、自己编写用于访问MySQL数据库的程序,以及管理MySQL服务器。书中还包括一节综合参考,其中提供了与MySQL的结构、语言、语法和各种API有关的详细信息。
这一版经过了精心修订和大量更新,完全覆盖MySQL 5.5的*特性和功能,而且对MySQL 5.6新引入的各种特性也进行了介绍。
内容简介
《MySQL技术内幕(第5版)》是MySQL方面名副其实的经典著作,全面介绍MySQL的基础知识以及MySQL有别于其他数据库系统的独特功能,书中特别关注如何高效地使用和管理MySQL。
《MySQL技术内幕(第5版)》由4个部分组成:第一部分集中介绍与数据库使用相关的一些基本概念,第二部分重点关注的是自己如何动手编写和使用MySQL的程序,第三部分主要是面向那些负责数据库管理的读者,第四部分提供了一些参考附录。书中包含大量示例,详尽地演示了MySQL的各项功能特性。此外,本书还为使用C语言、PHP语言和Perl语言开发数据库应用的读者提供了相关内容。
《MySQL技术内幕(第5版)》不仅适合MySQL初学者阅读,也适合想要深入了解MySQL的数据库管理人员和开发人员参考。
作者简介
Paul DuBois是作家,数据库管理员,也是开源社区和MySQL社区的领导者。他为MySQL在线文档做出了很大贡献,其著作包括MySQL and Perl for the Web、MySQL Cookbook、Using csh and tcsh和Software Portability with imake。目前,他是Oracle公司MySQL文档团队的一名技术作家。
目录
- 第1章MySQL入门
- 1.1MySQL的用途
- 1.2示例数据库
- 1.2.1美史联盟项目
- 1.2.2成绩考评项目
- 1.2.3如何运用示例数据库
- 1.3基本数据库术语
- 1.3.1结构术语
- 1.3.2查询语言术语
- 1.3.3MySQL的体系结构术语
- 1.4MySQL教程
- 1.4.1获取示例数据库发行包
- 1.4.2基本配置要求
- 1.4.3建立和断开MySQL服务器连接
- 1.4.4执行SQL语句
- 1.4.5创建数据库
- 1.4.6创建表
- 1.4.7添加新行
- 1.4.8重置sampdb数据库
- 1.4.9检索信息
- 1.4.10删除或更新已有行
- 1.5mysql交互技巧
- 1.5.1简化连接过程
- 1.5.2在调用命令时减少打字输入
- 1.6何去何从
- 第2章使用SQL管理数据
- 2.1服务器的SQL模式
- 2.2MySQL的标识符语法和命名规则
- 2.3SQL语句的大小写规则
- 2.4字符集支持
- 2.4.1指定字符集
- 2.4.2确定可用字符集和当前设置
- 2.4.3Unicode支持
- 2.5数据库的选择、创建、删除和更改
- 2.5.1选择数据库
- 2.5.2创建数据库
- 2.5.3删除数据库
- 2.5.4更改数据库
- 2.6表的创建、删除、索引和更改
- 2.6.1存储引擎的特性
- 2.6.2创建表
- 2.6.3删除表
- 2.6.4索引表
- 2.6.5更改表结构
- 2.7获取数据库元数据
- 2.7.1使用SHOW语句获取元数据
- 2.7.2借助INFORMATION_SCHEMA获取元数据
- 2.7.3从命令行获取元数据
- 2.8使用连接实现多表检索
- 2.8.1内连接
- 2.8.2对被连接表里的列引用进行限定
- 2.8.3左(外)连接和右(外)连接
- 2.9使用子查询实现多表检索
- 2.9.1带关系比较运算符的子查询
- 2.9.2IN和NOTIN子查询
- 2.9.3ALL、ANY和SOME子查询
- 2.9.4EXISTS和NOTEXISTS子查询
- 2.9.5相关子查询
- 2.9.6FROM子句里的子查询
- 2.9.7将子查询改写为连接
- 2.10使用UNION实现多表检索
- 2.11多表删除和更新
- 2.12事务处理
- 2.12.1利用事务保证语句安全执行
- 2.12.2使用事务保存点
- 2.12.3事务隔离
- 2.13外键和引用完整性
- 2.14使用FULLTEXT搜索
- 2.14.1自然语言FULLTEXT搜索
- 2.14.2布尔模式的全文搜索
- 2.14.3查询扩展全文搜索
- 2.14.4配置全文搜索引擎
- 第3章数据类型
- 3.1数据值类别
- 3.1.1数值
- 3.1.2字符串值
- 3.1.3时态(日期/时间)值
- 3.1.4空间值
- 3.1.5布尔值
- 3.1.6NULL值
- 3.2MySQL数据类型
- 3.2.1数据类型概述
- 3.2.2表定义里的特殊列类型
- 3.2.3指定列的默认值
- 3.2.4数字数据类型
- 3.2.5字符串数据类型
- 3.2.6时态(日期/时间)数据类型
- 3.3MySQL如何处理无效数据值
- 3.4处理序列
- 3.4.1通用的AUTO_INCREMENT属性
- 3.4.2存储引擎特有的AUTO_INCREMENT属性
- 3.4.3使用AUTO_INCREMENT列需要考虑的问题
- 3.4.4AUTO_INCREMENT列的使用提示
- 3.4.5在无AUTO_INCREMENT的情况下生成序列
- 3.5表达式计算和类型转换
- 3.5.1编写表达式
- 3.5.2类型转换
- 3.6选择数据类型
- 3.6.1列要存放什么类型的值
- 3.6.2所有值是否都在某个特定的区间内
- 第4章视图和存储程序
- 4.1使用视图
- 4.2使用存储程序
- 4.2.1复合语句和语句分隔符
- 4.2.2存储函数和存储过程
- 4.2.3触发器
- 4.2.4事件
- 4.3视图和存储程序的安全性
- 第5章查询优化
- 5.1使用索引
- 5.1.1索引的优点
- 5.1.2索引的代价
- 5.1.3挑选索引
- 5.2MySQL查询优化程序
- 5.2.1查询优化程序的工作原理
- 5.2.2使用EXPLAIN检查优化程序的操作
- 5.3选择利于高效查询的数据类型
- 5.4选择利于高效查询的表存储格式
- 5.5高效加载数据
- 5.6调度、锁定和并发
- 第6章MySQL程序设计入门
- 6.1为何要自己编写MySQL程序
- 6.2MySQL提供的API
- 6.2.1C语言API
- 6.2.2Perl语言DBIAPI
- 6.2.3PHP语言API
- 6.3选择API
- 6.3.1执行环境
- 6.3.2性能
- 6.3.3开发时间
- 6.3.4可移植性
- 第7章用C语言编写MySQL程序
- 7.1编译和链接客户端程序
- 7.2连接服务器
- 7.3出错处理和命令选项处理
- 7.3.1出错检查
- 7.3.2实时获取连接参数
- 7.3.3把选项处理整合进客户端程序
- 7.4处理SQL语句
- 7.4.1处理那些修改行的语句
- 7.4.2处理那些返回结果集的语句
- 7.4.3通用的语句处理器
- 7.4.4另一种语句处理方法
- 7.4.5mysql_store_result()与mysql_use_result()的对比
- 7.4.6使用结果集元数据
- 7.4.7对特殊字符和二进制数据进行编码
- 7.5交互式语句执行程序
- 7.6编写支持SSL的客户端程序
- 7.7一次执行多条语句
- 7.8使用服务器端预处理语句
- 7.9使用预处理CALL支持
- 第8章用PerlDBI编写MySQL程序
- 8.1Perl脚本的特点
- 8.2PerlDBI概述
- 8.2.1DBI数据类型
- 8.2.2一个简单的DBI脚本
- 8.2.3出错处理
- 8.2.4处理那些修改行的语句
- 8.2.5处理那些返回结果集的语句
- 8.2.6在语句串里引用特殊字符
- 8.2.7占位符与预处理语句
- 8.2.8把查询结果绑定到脚本变量
- 8.2.9指定连接参数
- 8.2.10调试
- 8.2.11使用结果集元数据
- 8.2.12执行事务
- 8.3DBI脚本实践
- 8.3.1生成美史联盟成员名录
- 8.3.2发送成员资格更新通知
- 8.3.3编辑美史联盟成员条目
- 8.3.4寻找志趣相投的联盟成员
- 8.3.5把美史联盟成员名录放到网上
- 8.4使用DBI来开发Web应用程序
- 8.4.1配置Apache服务器来处理CGI脚本
- 8.4.2CGI.pm模块简介
- 8.4.3从Web脚本连接MySQL服务器
- 8.4.4基于Web的数据库浏览器
- 8.4.5成绩考评项目:分数浏览器
- 8.4.6美史联盟:搜索志趣相投的成员
- 第9章用PHP语言编写MySQL程序
- 9.1PHP概述
- 9.1.1一个简单的PHP脚本
- 9.1.2利用PHP库文件实现代码封装
- 9.1.3简单的数据检索页面
- 9.1.4处理语句结果
- 9.1.5测试查询结果里的NULL值
- 9.1.6使用预处理语句
- 9.1.7利用占位符来处理数据引号问题
- 9.1.8出错处理
- 9.2PHP脚本实战
- 9.2.1一个在线录入分数的应用程序
- 9.2.2创建交互式的在线测验
- 9.2.3在线编辑美史联盟成员信息
- 第10章MySQL管理简介
- 10.1MySQL组件
- 10.2MySQL的常规管理
- ……
- 第11章MySQL数据目录
- 第12章MySQL的基本管理
- 第13章安全性与访问控制
- 第14章数据库维护、备份和复制
- 附录A本书所需要的各类软件
- 附录B数据类型参考
- 附录C操作符与函数参考
- 附录D系统变量、状态变量和用户变量参考
- 附录ESQL语法参考
- 附录FMySQL程序参考