一、 出版信息
【书名】 《MYSQL Cookbook第2版 中文版》
【作者】 (美)迪布瓦(DuBois,P.)著
【译者】 瀚海时光团队
【出版社】 电子工业出版社
【书号】 978-7-121-05993-3
【出版日期】 2008年3月
【开本】 16 开
【版次】 第2版
【定价】 128.00 元
二、 内容简介
针对日常的编程困境和数据操作的挑战,本书为各个层次的、没有时间和精力来从头解决MySQL问题的用户提供了大量简练、精辟的代码段和可用的示例。每节都阐述了代码应该如何工作及原因所在,随着您阅读的深入,您的收获也会随之增加。
新版本在目前仍然广为流行的MySQL 4.1的基础上加入了MySQL 5.0的内容以及它强大的新特征。你将会学会使用mysql客户端程序执行SQL查询的方法,以及通过API编写与MySQL服务器交互的程序的方法。书中有大量新的示例,这些示例使用Perl、PHP、Python、Java甚至Ruby来检索并显示数据。本书现在还包括了子查询、视图、存储过程、触发器和事件等内容。
这本快速解决问题的方案资源还提供了如下技巧:
同时访问多表数据
在两表的行之间发现匹配或不匹配之处
将图片存入MySQL并在Web页面中检索它们以用于显示
开启严格模式以阻止错误的数据被插入到你的数据库中
创建按照计划执行的数据库事件
本书并不想开发一个完整的复杂应用。相反,它通过帮你克服曾难倒你的问题,从而在开发应用中对你进行帮助。
Paul DuBois是MySQL在线参考手册的第一批贡献者之一,这是在20世纪90年代后期MySQL的开放年代支持管理员和开发者的一个文档项目。他已经撰写了多本关于MySQL的著作,包括《MySQL Cookbook 第1版》。
关于第1版的评价:
《MySQL Cookbook》是每个技能级别的MySQL开发者都应该拥有的参考书和教程。如果你正寻觅一本完备的MySQL参考书或一些帮助以提高你的技巧,这本书就是最好的选择。它引人入胜,全书都充满趣味性。
- J.T.Dyer UnixReview 2003年3月
三、 内容摘要
很可能当你使用本书时脑海中已经存在一个准备开发的应用但是不太确定怎么实现它的某些部分。在这种情况下,你已经清楚你想解决哪种类型的问题,所以你应该搜索内容目录或者索引来查找某个能满足你需要的章节。理想情况下,该章节正好是你脑海中所想的。如果不是,你应该能找到某个解决类似问题的章节,这样你可以稍作调整就能满足手头的需要。我努力解释涵盖在开发每项技术里的原理以便你能进行修改以满足你应用的特定需求。
使用本书的另一方法就是脑海中不带着任何特定问题通读它。这样同样能给你以帮助,因为你会更深入的理解MySQL能做什么,所以我建议你能偶尔翻阅一下本书。如果你已经很熟悉本书并了解它所解决的问题种类那么它就会是一个更高效的工具。
当你进入后面的章时,有时你会发现这些章使用了前面章所介绍的相关主题知识。这在同一章内同样存在,后面的节常会使用该章前面所讨论的技术。如果你进入了一章,发现其中使用了你并不熟悉的某个技术,先查看内容目录或者索引看看有没有该技术的介绍。你应该会发现之前它已被解释过了。例如,如果你发现一节使用你不理解的ORDER BY子句来排序查询结果,翻到[7],该节讨论了不同的排序方法并解释了他们是如何工作的。
以下段落对每章进行了概述以便你能对本书内容有个总的认识。
第1章,使用mysql客户端程序,描述了如何使用标准的MySQL命令行客户端。mysql通常是人们所使用的第一个或主要的MySQL接口,所以了解如何使用它的功能相当重要。使用该程序你可以交互式的发起查询并查看其结果,所以很适于快速试验。你也可以在批处理模式下执行封装好的SQL脚本或者将其输出发送给其他的程序。除此之外,本章还讨论了使用mysql的其他方法,诸如如何对输出行进行计数或者使比较长的行更具可读性,如何生成不同的输出格式,以及如何记录mysql会话的日志等。
第2章,编写基于MySQL的程序,阐述了MySQL编程的基本要素:如何连接到服务器,发起查询,取回结果,以及处理错误。它还讨论了在查询中如何处理特殊字符和NULL值,如何编写库文件来封装公用操作代码,描述了收集构造服务器连接所需参数的不同方法。
第3章,从表中查询数据,涵盖了SELECT语句的多个方面,而SELECT语句是从MySQL服务器查询数据的主要手段:指定你想检索的列和行,进行比较,处理NULL值,以及选中查询结果的某个区域。后面的章节更详细的介绍了本章的一些主题,但本章提供了他们所依赖的概念的一个概观。如果你需要一些行选择方面的介绍性的背景知识或者你还不了解SQL,你应该仔细阅读本章。
第4章,表管理,包括表克隆,将结果集拷贝到其他表,使用临时表,以及检查或改变某个表的存储引擎等。
第5章,和字符串共舞,描述了如何处理字符串数据。它涵盖了字符集和字符序,字符串比较,处理大小写敏感问题,模式匹配,分解和组合字符串,以及执行FULLTEXT搜索。
第6章,使用Dates和Times,揭示了如何使用时间相关的数据。它描述了MySQL的日期格式以及如何以其他格式来显示日期值。它还包括如何使用MySQL特定的TIMESTAMP数据类型,如何设定时区,如何在不同时间单位间进行转换,如何执行日期算术操作来计算时间间隔或者从一个日期来生成另一个日期,以及闰年计算等。
第7章,排序查询结果,描述如何以你想要的顺序放置查询结果行。这包括指定排序方向,处理NULL值,解决字符串大小写敏感问题,以及根据日期或部分列值排序等。它还提供了范例来说明如何对特定类型的值进行排序,例如域名,IP地址以及ENUM(枚举)值。
第8章,生成摘要,阐述用于评估一系列数据的一般性特征的技术,例如它包含多少值或者它的最小值、最大值或平均值是多少。
第9章,获取和使用元数据,讨论如何获得查询返回数据的信息,例如结果集的行数或列数,或者每列的名称和类型。它还揭示了如何询问MySQL哪些数据库和表可用,或者查明表和列的结构。
第10章,导入导出数据,描述如何在MySQL和其他程序间传输信息。这包括怎么将文件从一种格式转化为另一种,去除或重排数据文件中的列,检查并验证数据,改写如日期型等常以多种格式出现的值,以及当你用LOAD DATA将数据值载入MySQL中时如何确定哪些数据值会引致问题。
第11章,生成并使用序列值,讨论AUTO_INCREMENT列,MySQL生成序列号的机制。它揭示了如何生成新的序列值或如何确定最新值,如何重排一列,如何在一个给定值开始序列,以及如何建立一个表使它能同时维护多个序列值。它还揭示了如何使用AUTO_INCREMENT值来维护表间的主从关系,包括一些需要避免的陷阱。
第12章,使用多重表,揭示了如何执行连接,这是一种将一个表的行和其他表的行联合起来的操作。它阐述了如何比较表来找出匹配或不匹配之处,如何生成主从列表和摘要,列举多对多关系,以及基于另一表的内容来更新或删除一表中的行。
第13章,统计技术,阐述如何生成描述性的统计表,频率分布,回归以及相关性。它还包括如何随机化一组行或从组中随机选取一行。
第14章,处理重复行,讨论如何识别,计算并移除重复行——以及首要的如何避免它们发生。
第15章,执行事务,揭示了如何处理必须作为一个单位一起执行的多条SQL语句。它探讨了如何控制MySQL的auto-commit模式,以及如何commit(提交)或回退事务,并阐述了一些你能用于非事务性的存储引擎的背景知识。
第16章,使用存储的程序,触发器和事件,描述了如何编写储存在服务器端的存储函数和存储过程,当表被修改时激活的触发器,以及在预定的情况下执行的事件。
第17章,关于Web应用中MySQL的介绍,让你可以着手编写基于web的MySQL脚本。Web编程使你能从数据库内容生成动态页面或者收集信息存入你的数据库中。本章探讨如何配置Apache来运行Perl,Ruby,PHP和Python脚本,以及怎么配置Tomcat使其能运行用JSP标签写成的Java脚本。它还提供了后面的章节中JSP页面常用到的Java标准标签库(JSTL)的一个概览。
第18章,在Web页面中加入查询结果,揭示了如何使用查询结果生成不同类型的HTML结构,诸如段落,列表,表格,超链接,和导航索引等。它也描述了如何向MySQL中存储图片,以及之后怎么检索并显示他们,以及如何发送一份可下载的结果集到一个浏览器。本章还包含专门的一节来阐述如何使用模板包来生成web页面。
第19章,用MySQL处理Web输入,讨论如何获取Web上的用户输入并用它来创建新的数据库行或者作为执行查询的基础。它主要负责表单处理,包括如何基于你数据库中包含的信息创建表单元素,例如radio按钮,弹出菜单,或者checkbox。
第20章,使用基于MySQL的Web会话管理,描述如何编写能记住跨越多个请求的信息的web应用,使用MySQL作为后端的存储。当你想逐步收集信息或者你需要基于用户先前所做的来作出决定时这很有用。
附录A,获得MySQL软件,指出哪儿能得到本书示例的源码,以及哪儿获取使用MySQL编写你自己的数据库程序需要的软件。
附录B,从命令行执行命令,提供在命令行提示中执行命令的背景,以及如何设置PATH等环境变量。
附录C,JSP和Tomcat初步,提供了JSP的一般性叙述以及Tomcat web服务器的安装指令。如果你需要安装Tomcat或者对此不是很熟悉,或者你从未用JSP标签写过页面那么就请阅读这些。
附录D, 参考资料,列出了提供本书所涵盖主题相关的额外信息的资料来源。它还列出了一些书籍,它们提供了本书使用的编程语言的相关背景介绍。
四、 关于译者
瀚海时光团队简介
张伟超:
中国科技大学博士,就职于中国人民银行合肥市中心支行,研究方向为网络通讯协议及网络安全,在J2EE及数据库开发方面有多年经验。
陈波:
中国科技大学博士,就职于中国电子科技集团三十八所,在网络安全及嵌入式系统开发方面有深入研究。
徐凯:
中国科技大学博士,将进入微软中国工程院,曾参加机器人足球世界杯,并代表中国科大蓝鹰队获得世界冠军,在C/C++领域有多年开发经验,对数据库也多有研究。
杨建国:
中国科技大学硕士,就职于EMC中国上海研究中心,在MySQL、Rails、J2EE等方面有数年经验。
张险峰:
中国科技大学硕士,就职于上海屹通信息技术有限公司,熟悉J2EE及软件工程技术,从事金融软件开发及管理数年。
- · 连载(六) Java桥 (5日)
- · Google Trends:哪种程序语言最受关注 (30日)
- · 连载(五) Session Clustering (15日)
- · 连载(四)Web服务器集群管理 (11日)
- · 连载(三) PHP监控系统 (31日)
- · 连载(二) 性能优化 (21日)
- · Zend Framework食谱 (9日)
- · 运营垂直SNS网站的九大应验 (9日)
- · 站长如何赢取开放互联网带来的契机 (9日)
- · 运营好“油菜花” 站长可多学5GSNS (9日)
- · UCenter Home 1.5RC2发布后,继续改进 (9日)
- · MYOP,与站长一道与时俱进的开放平台 (9日)






