SQL入门经典
Beginning SQL清华大学出版的那边红皮书,从基础到高级,把SQL介绍的很详细。SQL入门经典Paul wilton(美)John colb敖富江著译清华大学出版社北京Paul wilton John ColbBeginning SQLE|SBN:0-7645-7732-8Copyright@ 2005 by John Wiley Sons, IncAll rights reserved. Authorized translation from the English language edition published by John wileySons. nc本书中文简体字版由 John Wiley&Sons,Ine授权清华大学出版社出版。未经出版者书面许可,不得以任何方式复制或抄袭本书内容。北京市版权局著作权合同登记号图字:01-2005-4449版权所有,翻印必究。举报电话:010627829891350125667813801310933本书封面贴有清华大学出版社防伪标签,无标签者不得销售本书防伪标签釆用特殊防伪技术,用户可通过在图案表面涂抹清水,图案消失,水干后图案复现;或将表面膜揭下,放在白纸上用彩笔涂抹,图案在白纸上再现的方法识别真伪。图书在版编目(CP数据SQL入门经典美)威尔顿( Wilton,P.),(美)科尔比( Colby,,.)著;敖富江译.一北京:清华大学出版社,2006.6书名原文: Beginning SQLISBN7302-12833-2I.s…Ⅲ.①威…②科-…③敖…Ⅲ.关系数据库一数据库管理系统ⅣTP31138中国版本图书馆CP数据核字(2006)第033222号出版者:清华大学出版社地址:北京清华大学学研大厦htt://www.tup.com.cn郎邮编:10004杜总机:01062770175客户服务:01062776969组稿编辑:曹康文稿编辑:李阳封面设计:孔祥丰版式设计:孔祥丰印刷者:清华大学印刷厂装订者:三河市金元印装有限公司发行者:新华书店总店北京发行所开本:185×260印张:26.25字数:672千字版次:2006年6月第1版2006年6月第1次印刷书号:ISBN7302-12833-2/TP·8166印数:1~4000定价:48.00元前言数据,数据,数据!只要有计算机的地方,就会有数据的存在,无论是处理百万次的计算,还是为您的阿姨 Maude的生日保存一个记录。当需要存储数据时,就要用到数据厍。在我8年的职业编程生涯中,我所接触的每一个项目都与数据库有关—大多数商业应用程序和项目都需要使用数据库。当然也得承认,在某些领域,例如计算机游戏,对数据库使用得并不是很多。我能够猜测,“ Mega Doom99: The Final bloody massacre”在后台中没有使用 Oracle数据库!但是,我得承认,大约10年前,当我开始接触数据库时,我发现它们非常令人迷惑。那时我已经在几年的空闲时间中练习了编程,并习惯于使用文本文件存储信息。我决定改变一下这种方式,开始创建数据库并编写SQL语句,并且得到了非常混乱和奇怪的结果。数据库及其设计和基本概念与在单个文件中存储数据的差别很大,并且用于在数据库中访问和操作数据的结构化查询语言(SQL)与过程化语言的差别也很大。本书的目标之一是介绍一些新概念和些完成操作的方式。这之后,解释了开始学习数据库和SQL编程之前所需要的所有基本概念和理论。本书将详细地介绍如何从数据库中获得想要的数据和所有可能得到的结果,因为如果不事先介绍这些,SQL可能会产生令您非常吃惊的结果。夲书的另外—个目标是让您能够快速高效地在实际环境中设计数据库并编写SQL代码。就个人而言,我并不喜欢覆盖所有细节的书籍,否则几个月之后您可能才可以开始进行自己的工作。我坚持所介绍的内容能够用于大多数数据库应用程序中,并将更详细和更高级的内容放在后面的章节中。前面几章的日标是让您能够快速地了解并运行SQL,同时也讨论了一些核的概念、代码和技巧,并利用大量的实际示例加深对它们的了解。最后,我是一个实用且实际的人,所以,我所喜欢阅读的计算机书籍中并不会包含很多理论。本书反映了我的“将其付诸于行动”的宗旨,包含多个示例,能够使您获得大量的实用经验。书中也介绍并解释了理解基础内容所需要的理论,但最终目标是将理论付诸于实践。我在编程的大多数日子中,都用到了数据库和SQL语言,我希望能够将这些实际经验带到本书中。本书读者对象本书首先介绍数据库和SQL语言的基础知识。学习本书不需要预备的数据库或者SQL知识,因为本书覆盖了从数据库设计到创建您的第一个数据库和理解SQL语言是如何用于数据库等方面的所有内容。如果您已经具有关于数据库和SQL方面的经验,则将有一个很好的起点,并且您可能想跳过第1章。但第1章中介绍了如何创建本书的示例数据库,这个数据库将用于本书中所有的示例。本书主要内容本书将介绍结构化查询语言,或者简写为SQL。在数据库中可以使用SQL创建数据库、插入并提取数据。因此,有必要了解数据库系统中的理论和概念。因此,本书也涵盖了数据库理论和数据库设计,这样使得您能够创建一个高效的数据库。本书中的SQL代码反映了诸如美国国家标准化组织(ANsI)和国际标准化组织(SO等标准化组织所制定的现代SoL标准集。但是,虽然标准是伟大的,但在实际使用中又是另外一种情形。因此,本书集中于介绍大多数现代数据库系统所支持的SQL类型。您应当能够发现,大多数代码能够经过较少修改或不用修改就可以运行于最近6或7年之内发布的大多数数据库系统中。本书结构本书分为两个主要的部分。第Ⅰ部分由第1~3章组成,提供了用于理解数据库和SQL语言的基础知识。第Ⅰ部分的目标是加速您了解各种必要的细节,涵盖了以下内容:必要的数据库理论编写SQL代码优秀的数据库设计创建数据库使用SQL语句输入、更新和删除数据●使用SQL语句提取数据——更特别的是,介绍了如何利用数据库回答真实情形中的问题阅读完第3章后,您将可以创建自己的数据库并编写自己的SQL代码。在进入本书的第Ⅱ部分之前,您可能希望创建一些自己的数据库。本书的第Ⅱ部分从第4章开始,一直到结束,介绍了更多的细节并阐述了一些更高级的主题。它的目标是为SoL编程的许多方面提供非常宽广和完整的基础。主要包括以下一些主题高级数据库设计,介绍标准化方面的理论和实际应用,以及如何提高数据库的效率和可靠性●利用SQL的内嵌数据操作和计算函数来使用和操作数据从多个不同表中选择数据数据库的安全数据库的优化本书还包括3个附录。附录A包含了每一章中练习的答案,因此在您回答完问题之前,不要参阅它们。附录B介绍了如何下载、安装和使用本书所用到的5种数据库系统。附录C包含了向示例数据库中添加初始数据的SQL话句,如果不想亲自输入它们,可以从Web站点www.wrox.com和www.tupwk.com.cn/downpage下载它们。使用本书的要求为了充分利用本书并运行其中的示例,您需要通过一个数据库系统来进行实践。本书的代码已经在下面的5种常用数据库系统中测试过:MySQL● Microsoft SQL ServerIBM DB2Microsoft access· Oracle10g您儿乎能够从网上免费下载所有这些数据库,可以下载它们的完全版本或测试版本。在附录B中,您将了解从什么地方下载它们,如何安装它们,以及如何使用它们。如果您使用的是一种不同的数据库系统,也不会存在什么问题,因为我尽可能地避免使用与数据库系统相关的代码,尽量使用被大多数数据库系统支持的SQL语句。在所有的数据库系统中使用相同的代码是不可能的,我在书中列举出了一些针对不同数据库的不同语法。您将很可能发现,其中一种语法的变种能够运行于您的系统中,但可能需要进行一些小小的修改。源代码在读者学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书Web站点htt!/www.wrox.com/或www.tupwk.com.cn.downpage上下载。登录到站点ht: rww wrox. com,使用 Search工具或使用书名列表就可以找到本书。接着单击本书细目页面上的 Download Code链接,就可以获得所有的源代码。注释由于许多图书的标题都很类似,所以按ISDN搜索是最简单的,本书英文版的ISBN是0-7645-732-8。在下载了代码后,只需用自己喜欢的解压缩软件对它进行解压缩即可。另外,也可以进入htp:/w.wrox.com/dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码勘误表尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息请给fwkbook@tuptsinghua.edu.cn发电子邮件,我们就会检查您的信息,如果是正确的,就把它传送到该书的勘误表页面上,或在本书的后续版本中采用。要在网站上找到本书的勘误表,可以登录http://www.wrox.com,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击 Book errata链接在这个页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是www.wrox.com/misc-pages/booklist.shtmlP2P WROX. COM要与作者和同行讨论,请加入p2 p wrox. com上的P2P论坛。这个论坛是一个基于Web的系统,便于您张贴与Wrox图书相关的消息和相关技术,与其他读者和技术用户交流心得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给您传送感兴趣的论题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上来探讨问题。在htp:/p2 p wrox. com上,有许多不同的论坛,它们不仅有助于阅读本书,还有助于开发自己的应用程序。要加入论坛,可以遵循下面的步骤:(1)进入p2 pwrox. com,单击 Register链接。(2)阅读使用协议,并单击 Agree。(3)填写加入该论坛所需要的信息和自己希望提供的其他信息,单击 Submit(4)您会收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程注释不加入P2P也可以阅读论坛上的消息,但要张贴自己的消息,就必须加入该论坛。加入论坛后,就可以张贴新消息,响应其他用户张贴的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息,可以单古论坛列表中该论坛名旁边的Subscribe to this forum图标。关于使用WoxP2P的更多信息,可阅读P2PFAQ,了解论坛软件的工作情况以及P2P和Wrox图书的许多常见问题。要阅读FAQ,可以在任意P2P页面上单击FAQ链接。目录第1章SQL简介………1.1数据库简史……12结构化查询语言“;品和品日4日品中日和中“·“和甲··和中···和·“中·?中曾平中曹世曾世日日世生世B世曾世重1.2.1SQL查询简介……1.2.2SQL与其他编程语言的比较…123理解SQL标准555671.3创建数据库14创建、更改和删除表………………1614.1创建表1714.2更改现有表1814.3删除现有表…………………-………15优秀的数据库设计+日日中+中日·中中中·中··平士要++世世日当如生当世上世曲的15.1获得并分析数据需求1952逻辑地划分数据201.5.3选择正确的数据类型……221.54使用主键…241.6创建示例数据库……25本章小结…………291.8练习……………………30第2章输入信息……312.1插入新数据·世世生量十生里自君。里音自自3122将数据插入到案例分析数据库………………………………3423更新数据352.4删除数据……………………………………392.5本章小结…392.6练习………40第3章提取信息…想想当3.1 SELECT语句……和+日·中日·中于…413.11仅返回不同的行3.12使用别名43313利用 WHERE子句过滤结果3.2逻辑运算符和运算符优先级………………………………493.2.1运算符优先级概述…49322使用逻辑运算符·523.3利用 ORDER BY排序结果,着非……6234从多个表中选择数据734.l在 MS Access中使用圆括号括起内部联合…84342SQL是基于集合的…3.5NULL数据概述…9536本章小结……++·+*37练习……第4章数据库的高级设计……984.1标准化…984.1.1第范式H着着……984.1.2第二范式……………004.1.3第三范式………………1014.2利用约束确保数据的有效性中··曾·世出坐世世音…………………1034.2 I NOT NULL约束………1044.22 UNIQUE约束………………1054.2.3 CHECK约束……………109424主键和 PRIMARY KEY约束4.2.5外键…1134.3利用索引加速结果查询…43.1改进 Film Club数据库的设计…………121432提高数据的有效性和效率12343.3设计更好的数据库的一些技巧…1314.4本章小结4.5练习………132第5章操作数据……………13351理解SQL算术…13351.1基本的数学运算……………133512常用数学函数……和加身.。.·中135513舍入数值………13852字符串函数……■着,…143521 SUBSTRING(函数143522大小写转换函数145523 REVERSE()函数…………145524TRM()函数……………14652 LENGTH()函数………47
用户评论
可以~~不错@非常好
数据库的很好的一本入门教材,但感觉还需要有一定的基础才能看顺
很好,谢谢
作为刚入门的人,这个资料不错
不错,很好用,非常好
很不错,可以学习学习
单以学ANSI SQL而言,书比较老单比其他书都更适合新手入门
好学习资料,值得细学。谢谢给大家分享。
哎呦 不错哦!
不是我想要的,