您的浏览历史

MySQL 5权威指南(第3版)

促销活动
  • [本书]参加人民邮电出版社满80元赠书活动
精彩评论

基本信息

内容简介回到顶部↑

本书全面深入地介绍了MySQL的功能,主要内容包括MySQL、PHP、Apache、Perl等组件的安装与功能简介,mysql等一些重要系统管理工具和用户操作界面的使用,MySQL数据库系统设计的基础知识与用不同语言设计MySQL数据库的过程,以及SQL语法、工具、选项、API应用指南,最大限度地帮助读者更快地学习和掌握MySQL数据库系统的设计和使用。本书覆盖了MySQL 5.0,讨论了新的程序设计接口(如PHP 5里的mysqli)和新的系统管理工具。
本书是MySQL数据库管理员和开发人员的必备参考书。

作译者回到顶部↑

本书提供作译者介绍

Michael Kofler 在奥地利格拉茨技术大学获得计算机科学博士学位。他写了很多非常成功的计算机图书,内容涉及Visual Basic、Linux、Mathematica和Maple等多种程序没计语言和软件。Kofler还是Definitive Guide to Excel VBA第2版的作者。...
.. << 查看详细

作者: Michael Kofler
Michael Kofler 在奥地利格拉茨技术大学获得计算机科学博士学位。他写了很多非常成功的计算机图书,内容涉及Visual Basic、Linux、Mathematica和Maple等多种程序没计语言和软件。Kofler还是Definitive Guide to Excel VBA第2版的作者。..... << 查看详细

[同作者作品]
MySQL 5权威指南(第3版)

目录回到顶部↑

第一部分 入门
第1章 什么是MySQL 2
1.1 什么是数据库 2
1.1.1 关系、数据库系统、服务器和客户 2
1.1.2 关系数据库系统与面向对象数据库系统 3
1.1.3 数据表、记录、字段、查询、SQL、索引和键 3
1.2 MySQL 4
1.3 MySQL的不足 6
1.4 MySQL的版本编号 7
1.4.1 Alpha、Beta、Gamma、Production(Generally Available) 8
1.4.2 按版本编号排列的MySQL功能表 8
1.5 MySQL的许可证 10
1.5.1 GPL许可证下的权利和义务 10
1.5.2 开源许可证下的MySQL软件 10
1.5.3 商用许可证下的MySQL软件 11
1.5.4 MySQL客户软件开发库(Connector/ODBC、Connector/J等)的商用许可证 12
1.5.5 PHP项目的客户许可证问题——F(L)OSS特例 12
1.5.6 MySQL软件的版本名称 13
1.5.7 MySQL软件的技术支持合同 14
1.6 MySQL软件的替代品 14

译者序回到顶部↑

MySQL是使用最广泛的开源数据库系统,它正在数据库市场上重演Linux在操作系统领域逐步取得成功的故事。PHP或Perl语言与MySQL相结合的数据库系统解决方案正被越来越多的网站所采用,其中又以LAMP模式(“Linux + Apache + MySQL + Perl或PHP”组合方式)最为流行。MySQL的突出优点包括:
·适用面广。可以在Windows、Linux、Mac OS X及各种UNIX操作系统上运行,可以用C、C++、C#、Java、Perl、PHP、Python、Visual Basic和Visual Basic.NET等多种程序设计语言来开发MySQL应用程序。在Linux领域里,以MySQL作为后端数据库引擎的应用项目越来越多:它可以帮助人们更有效率地管理各种日志数据以及电子邮件、MP3文件、地址名单之类的数据。在Windows领域里,借助于ODBC接口,MySQL也能完成类似的任务(在许多场合下,MySQL提供了更好的技术基础)。
·性能优异,运行稳定。MySQL是一种功能非常强大的关系数据库系统,它的安全性和稳定性足以满足许多应用项目的要求。美国航空航天局、美国洛斯?阿拉莫斯国家实验室(数据量高达7TB)、Yahoo!、Lycos、索尼、铃木、维基百科等大公司和大机构都采用了MySQL来建立它们的后端数据库。从这个意义上讲,选择MySQL就等于是让自己与这些优秀的公司站在了同一条起跑线上。此外,MySQL对硬件性能的要求不那么苛刻,这一点对小公司或个人用户来说特别有优势。
·性价比高。MySQL是一个开源软件产品,采用GPL许可证发行,所以绝大多数MySQL应用项目都可以免费获得和使用MySQL软件。如果用户的MySQL项目不符合GPL许可证的有关规定,只须支付一些合理的费用就可以获得商业许可证和各种可选的技术支持服务合同。
·技术支持丰富而且易于获得。因特网上有着丰富的MySQL资源。
与其他的开源数据库系统相比,MySQL不仅在性能指标方面高出一截,在应用范围和实际装机容量方面也远远领先于竞争对手。MySQL比其他数据库系统接受过更全面的测试,有着更齐全的文档,有MySQL经验的开发人员也相对更多一些。不过,MySQL目前还无法在所有的方面与一些老牌的商业化数据库系统抗衡。万一用户的项目必须用到某些MySQL尚不支持的功能,请在项目的前期可行性研究阶段做出判断和取舍。
本书是一部MySQL领域的名著,新版在第2版的基础上进行了大量的改写。大部分改动是根据MySQL软件从4.1版到5.0版的变化而做出的。围绕着MySQL相关领域做出的改动也有不少,其中包括新的程序设计接口(如PHP 5里的mysqli接口)和新的系统管理工具。本书从面向应用和面向示例两方面对MySQL数据库系统进行了全面系统的介绍,读者无须具备SQL编程或数据库设计经验,而书中的示例数据库和示例程序能够帮助那些打算自行开发一个数据库应用软件的读者打下坚实的基础。不过,因为本书没有足够的篇幅从入门开始对每一个论题进行探讨,所以书中有些内容(尤其是与编程有关的内容)需要读者具备相应的基础知识才能从中获得最大收益。
与任何一种现代数据库产品一样,MySQL的实际应用还需要涉及硬件设备、操作系统、网络与通信等许多方面。这些领域每天都有新的技术和改进诞生。
本书主要由杨晓云、王建桥、杨涛、李东梅翻译,参加翻译工作的还有范精明、许玉新、俞渭明、韩兰、张玉亭、李菘、张雁东、李京山、张立和、张勇、韩文光、孙殿刚、韩东升、陈丽芬、张异宝、卫健、李江卫、丁文学、张斌和汪艳华等同志。
因为译者水平有限,所以书中可能会有一些错误和疏漏,希望能够得到读者的谅解和指正。

前言回到顶部↑

MySQL是使用最广泛的开源数据库系统,这主要有以下几个原因:
·MySQL很快。
·MySQL很稳定。
·MySQL很容易学习。
·MySQL可以在各种主流的操作系统(Windows、Linux、Mac OS X和各种UNIX版本)上运行。
·MySQL应用软件可以用多种程序设计语言(如C、C++、C#、Java、Perl、PHP、Python、Visual Basic和Visual Basic.NET等)来编写。
·网上有详尽的MySQL文档,与MySQL有关的书籍也非常多。
·有许多应用项目都允许用户免费使用MySQL来开发(在遵守GPL许可证制度的前提下)。
·虽然也有许多商业化的应用软件不受GPL许可证的约束,但只需支付一些合理的费用就可以获得商业许可证和各种可选的技术支持服务合同。
MySQL正在数据库市场上重演Linux在操作系统领域逐步取得成功的故事。PHP或Perl语言与MySQL相结合的数据库系统解决方案被越来越多的网站所采用。其中又以“Linux + Apache + MySQL + Perl或PHP”的组合方式最为流行,这种组合被人们称为LAMP模式。MySQL并不仅仅适用于小型网站,连Yahoo!、Slashdot和美国航空航天局等数据量非常大的公司和机构也在使用它。
本书内容
本书面向应用和面向示例对MySQL数据库系统进行了全面系统的介绍。读者无需具备SQL编程或数据库设计的经验。
本书的入门部分将从如何在运行Windows和Linux操作系统的计算机上安装MySQL、Apache、PHP和Perl等软件组件的具体步骤开始展开讨论。此外,还将介绍如何安装需要与MySQL配合使用的其他组件。在此基础上的第一个示例将向大家演示MySQL和PHP的基本用法。
本书的第二部分将对mysql、mysqladmin、mysqldump、MySQL Administrator、MySQL Query Browser和phpMyAdmin等几个最为重要的系统管理工具和用户操作界面进行介绍,最后一个程序特别适合使用Web浏览器以离线方式来完成各种系统管理工作的情况。在这一部分还将专门用一章的篇幅来讨论如何通过Microsoft Office、Sun StarOffice和OpenOffice访问MySQL数据库。
本书的第三部分为读者准备了大量有关数据库语言SQL、数据库系统的设计思路、存储过程、MySQL的访问控制系统和多种系统管理工作(如备份、日志和镜像等)的背景资料。
本书的第四部分将重点介绍PHP语言,其中有一章内容很长,读者可以学到许多程序设计方面的技巧。将通过一系列示例程序来演示如何利用mysql和mysqli(PHP 5里新增加的软件工具)程序提供的操作界面去完成各项系统管理任务;还将介绍其他几种程序设计语言,将在专门的章节里对Perl、Java、C、Visual Basic 6以及Visual Basic.NET和C#等语言进行讨论。
本书的主要内容将以参考资料篇(第五部分)作为结束,将对MySQL所支持的各种SQL命令、常见MySQL系统管理工具的功能选项及几种重要的程序设计语言(PHP、Perl、C、Java、ADO .NET)所提供的接口函数进行总结。
最后是附录,其内容涉及术语解释(附录A),对书里提到的各个示例文件的介绍(附录B,有关文件都可以从www.apress.com网站下载),以及帮助大家进一步掌握MySQL的参考读物和建议(附录C)。
我们相信,本书里的示例数据库和示例程序能够帮助那些打算自行开发一个数据库应用软件的读者打下一个坚实的基础。在这里,预祝大家能够从中获得乐趣和成功。
本书(第3版)新增内容
评论交流

共有37人开贴评论  66人参与评论  27人参与打分 查看

7人
 25%
用户平均打分
我要写评论 help如何参与评论和打分
15人
 55%
2人
 7%
2人
 7%
1人
 3%

kelystor

一级评论员
评价等级:  
发表于:2007-1-28 22:42:00
接下来,是一些有疑点的或者与实际有抵触的地方:
  这里先说明一下,有些抵触是跟具体的环境有关,并非书中的错误。另外,这本书用的MySQL版本是5.0.3,而我在试验的时候用的是5.0.22和5.1.6。

p45提到了,创建以“test”开始的名字来创建数据库,任何用户都对该数据库有最大的操作权限。但实际上,我用5.0.22及5.1.6这两个版本的MySQL做实验时,均以失败告终。p246也再次提到这个概念,后面再看到p261页给出的db数据表的默认设置,才发现,默认设置中有两条关于test开头的数据库的权限信息,但在安装5.0.22及5.1.6这两个版本的MySQL中,都没有发现该默认设置,这也许是问题的根源。

p62所述,用的是cp850字符集,但我们用的是936,简体中文

p130表8-7中,TINYTEXT写着“最多255个字符”,但接着那一段对VARCHAR和TINYTEXT类型的论述,却说TINYTEXT也可以容纳65535个字符。查了一下英文原文,原来表格中对TINYTEXT的描述有两句:
character string with variable length, maximum 255 bytes TEXT
character string with variable length, maximum 2(16次方) -1 characters
这里差别的出现,应该也是跟VARCHAR类型一样,是因为MySQL版本的不同,所以支持的宽度不一样了。
另外,在这里,虽然书上所说VARCHAR类型最多可以容纳65535个字符,但我在实验的时候,用varchar(65000)结果这一列被转换成了mediumtext类型,也许跟后文提到的最大字符个数要取决于具体的字符集有关吧。
接下来“注意”的那一段说到:如果n〈4……,如果n〉3……。
我试验的时候用的是5.1.6版本,均没有出现书中所说的类型自动转换(默许的数据列修改)情况出现。
在本书p194再次提到同样的内容。

p195提到说“information_schema是一个虚拟数据库……因此,SHOW DATABASES、SELECT * FROM information_schema.schemata、USE information_schema等命令对这个数据库无法使用”,但我实验的时候,不管是5.0.22还是5.1.6,都是可以使用这些命令的。

  这本书其他的地方还有错误,比如第三部分程序设计讲到PHP的部分,就有印刷错误出现,但我还没有仔细看完,这里就先不指出了。其中有的章节,如GIS函数一章,由于兴趣及工作性质的缘故,不会细予关注,就没法为大家捉虫了。另外,本人技术及精力有限,以上的勘误和存疑也并不一定正确,如果有什么错误,还请大家多多指正。同时,也希望各位朋友发现其他错误的时候,能够一并发出来,好让大伙一并更正。

  这篇书评就先写到这里了,以上内容先做保留,以后有时间再细读其他章节,有感想或者发现错误,我会再来更新(但现在发现,发过的书评没法更改了,只好在blog上更新)。同时,大家有什么心得经验,也欢迎到我的blog跟我一起交流探讨,blog地址:http://blog.csdn.net/kelystor(新开的,内容不多,还请大家多多谅解,多多关照)。
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得7支)  扔鸡蛋 (得0个)

turingbook
出版商
精彩书评
评价等级:  
发表于:2006-12-31 10:10:00
今天有时间仔细考虑本书中大家讨论较多的一处误译,提出一种译法,大家看看是否合适。
英文原文是这样的:
If you are working on a Windows server version, you should first ensure that the
Microsoft Internet Information Server (IIS for short) is not running. Installation of
Apache in the standard setting (port80) fails if IIS is running in parallel (for which
there is seldom any reason).
原译为:“如果使用的操作系统是一个服务器版本,首先应该禁止运行其Microsoft Internet Information Server(简称IIS)组件。按标准配置(80端口)安装的Apache软件在同时运行着IIS的计算机上无法工作(具体原因笔者也不太清楚)。”

其实全句的意思很清楚,也比较简单,问题出在括号里的“for which there is seldom any reason”上。

wangyaozh读者的理解应该是对的,但翻译稍微偏离了原意。此处which是指IIS is running in parallel,意思是实际工作中很少有什么原因需要在一台服务器上同时运行IIS和Apache,所以最后一句应该翻译为:

“如果在服务器上同时运行着IIS(很少需要如此),那么按标准配置(80端口)安装Apache软件将(因为端口冲突而)无法正常工作。”

此处还有一个遗留问题是,实际安装Apache时,如果已经安装IIS,是根本无法安装呢,还是安装后不工作?如果是前者,最后的“无法正常工作”应译为“失败”。有过相关经验的读者请指教。
回复 ( 6条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得4支)  扔鸡蛋 (得1个)

kelystor

一级评论员
精彩书评
评价等级:  
发表于:2007-1-28 22:37:00
这本书已经看了一段时间了,断断续续的,到现在还是有些章节没有看。这本书原书可以给5颗星,但翻译后的这本只能给4颗星。少掉的一颗星,不是因为这本书的翻译,而是因为这本书的一些错漏。
  说实话,这本书的翻译还是可以的,中规中矩,虽然前面有人在质疑那么多的翻译人员翻译质量会不会有问题,但我个人觉得这本书翻得还不错,没有多少比较晦涩的词语。另外,译者在翻译的时候也对原书的一些错误进行了订正,这也是难能可贵的。

  从内容上来说,这本书包容广泛,面面俱到,讲述了权限、优化、数据库结构、表类型、SQL、备份、恢复、图形化管理程序等,但面面俱到也带来了缺点——有许多内容对某一部分人来说,几乎没有用处,却也要为这部分内容掏钱。比如书中专门讲解GIS函数的一章,第三部分程序设计及MySQL API应用指南一章,相信不会有人对这些章节的所有内容都感兴趣(说这个,有点鸡蛋里挑骨头了)。
  这本书内容虽广,但还是有欠缺的地方,比如没有讲MySQL的集群(cluster,本书中翻译成“集簇”)使用,触发器的讲述更是只用了3页的篇幅(但这是因为触发器在5.0.3版本时很不成熟,限制很多,几乎没有用处)。不过,这些欠缺不是很要紧,这本书中讲述的内容已经足够平日之用。另外,在书的后面还对一些十分有用的命令参数及配置参数进行了总结,十分方便查看参考。

  看到前面在讨论“按标准配置(80端口)安装的Apache软件在同时运行着IIS的计算机上无法工作(具体原因笔者也不太清楚)。”这句翻译的事情,总觉得有点小题大作。“(具体原因笔者也不太清楚)”这样的话,虽然显得无知,但并没有任何误导的性质。相比于另一本书——《JavaScript高级程序设计》,在它的前言中,有“Javascript是一种不严格基于Java的面向对象程序设计语言,以嵌入式Java小程序的形式在Web上广为使用”这样的误导性的翻译被人骂得狗血淋头。但并没有因为如此,它就变得一文不值,相反它是一本JS方面的好书、畅销书。所以,我觉得,与其在这些小错误上斤斤计较,倒不如多花些时间去研读这本书真正的内容。正所谓“瑕不掩瑜”,真正的好书,不会因为一两处的错漏,而丧失它的光彩。
  如果要计较的话,是因为80端口占用冲突。在有IIS的情况下,apache按照默认的方式(使用80端口)进行安装,可以安装上,但无法启动。不过,在安装apache的时候,有选项可以将其端口改成8080,这样就没有冲突了。另外,有网友说到改IIS的默认端口,这个应该也是可以的,只是我不知道如何做。至于翻译的话,只要与实际相符正确即可,不必拘泥于原文。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

zttc
二级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-1-15 13:17:00
总体感觉这本书还是非常值得一看的
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

luft

五级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-12-28 18:58:00
排版再好些就好了
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共37条)