SQL学习指南
2010-6
人民邮电
[美] Alan Beaulieu
291
张伟超,林青松
无
编程语言在不断地出现和消亡,现在使用的语言只有很少一部分的历史能追溯到20年前。其中有大量应用在大型机环境的cobol和流行于操作系统、服务器开发以及嵌入式系统的C语言。而在数据库领域,SQL的根源可以追溯到19世纪70年代。SQL是一种从关系型数据库生成、操作和检索数据的语言。关系型数据库流行的原因之一是正确设计的关系型数据库可以处理海量数据。但处理大量数据集时,SQL就像一个高功率可变焦距的时髦数码相机,让你能够看到大型数据集,或者放大单独的行(或者两者之间的任何地方)。其他的数据库管理系统在沉重的负荷下往往会由于它们的焦距太窄(缩放镜头已经处于最大位置了)而崩溃,这就是要废黜关系型数据库和SQL的尝试已经基本上失败了的原因。因此,即使SQL是一门古老的语言,它也将继续活跃很长一段时间,并且在存储应用方面有光明的前途。为什么要学习SQL如果打算使用关系型数据库,无论是写应用程序、执行管理任务还是生成报表,那么都需要知道如何与数据库中的数据交互。即使使用工具为自己生成SQL,比如报表工具,有时也需要绕过自动生成功能而编写自己的SQL语句。学习SQL语言有一个额外的好处,即强迫你勇敢面对并学会理解用于储存自己组织相关信息的数据结构。当开始适应数据库的表时,你可能会发现自己也会产生对数据库进行修改或增加等的建议。为什么使用学习SQLSQL语言可分为几类:用于创建数据库对象(表、索引、约束等)的语句统称为SQL模式语句,而用于创建、操纵和检索保存在数据库中的数据的语句称为SQL数据语句。作为管理员,你将同时使用SQL模式和SQL数据语句,而程序员或者报表作者可能只需要使用(或者只允许使用)SQL数据语句。虽然本书介绍了许多SQL模式语句,但是主要焦点还是编程功能。
本书全面系统地介绍了SQL语言各方面的基础知识以及一些高级特性,包括SQL数据语言、SQL方案语言、数据集操作、子查询以及内建函数与条件逻辑等内容。书中每个章节讲述一个相对独立的主题,并提供了相关示例和练习。本书内容以SQL 92标准为蓝本,涵盖了市场上常用数据库的最新版本(MySQL 6.0、Oracle 11g及Microsoft SQL Server 2008)。 本书适合数据库应用开发者、数据库管理员和高级用户阅读。针对开发基于数据库的应用程序,以及日常的数据库系统管理,本书都展现了大量经过实践检验的方法和技巧。读者可以通过对本书循序渐进地学习快速掌握SQL语言,也可以在实际工作中遇到问题时直接翻阅本书中的相关章节以获取解决方案。
作者:(美国)比利(Alan Beaulieu) 译者:张伟超 林青松比利(Alan Beaulieu),从事设计、构建和实现应用数据库已有15个年头,他目前经营自己的顾问公司,专门提供金融和电信领域的Oracle数据库设计与支持服务。Alan毕业于康奈尔大学工程学院。
第1章 背景知识 1.1 数据库简介 1.1.1 非关系数据库 1.1.2 关系模型 1.1.3 一些术语 1.2 什么是SQL 1.2.1 SQL语句的分类 1.2.2 SQL:非过程化语句 1.2.3 SQL示例 1.3 什么是MySQL 1.4 内容前瞻 第2章 创建和使用数据库 2.1 创建MySQL数据库 2.2 使用mysql命令行工具 2.3 MySQL数据类型 2.3.1 字符型数据 2.3.2 数值型数据 2.3.3 时间数据 2.4 表的创建 2.4.1 第1步:设计 2.4.2 第2步:精化 2.4.3 第3步:构建SQL方案语句 2.5 操作与修改表 2.5.1 插入数据 2.5.2 更新数据 2.5.3 删除数据 2.6 导致错误的语句 2.6.1 主键不唯一 2.6.2 不存在的外键 2.6.3 列值不合法 2.6.4 无效的日期转换 2.7 Bank方案 第3章 查询入门 3.1 查询机制 3.2 查询语句 3.3 select子句 3.3.1 列的别名 3.3.2 去除重复的行 3.4 from子句 3.4.1 表的概念 3.4.2 表连接 3.4.3 定义表别名 3.5 where子句 3.6 group by和having子句 3.7 order by子句 3.7.1 升序或降序排序 3.7.2 根据表达式排序 3.7.3 根据数字占位符排序 3.8 小测验 第4章 过滤 4.1 条件评估 4.1.1 使用圆括号 4.1.2 使用not操作符 4.2 构建条件 4.3 条件类型 4.3.1 相等条件 4.3.2 范围条件 4.3.3 成员条件 4.3.4 匹配条件 4.4 null: 4个字母的关键字 4.5 小测验 第5章 多表查询 第6章 使用集合 第7章 数据生成、转换和操作 第8章 分组与聚集 第9章 子查询 第10章 再谈连接 第11章 条件逻辑 第12章 事务 第13章 索引和约束 第14章 视图 第15章 元数据 附录A 示例数据库的ER图 附录B MySQL对SQL语言的扩展 附录C 练习答案
插图:一个问题,就是如果没有其他帮助,服务器依然无法在合适的时间内完成查询。这个帮助就可以是department表中的一个或多个索引。读者即使从来没有听说过数据库索引,也一定知道什么是索引(比如本书就有一个)。索引是寻找资源中特定项目的一种机制。例如,每个科技出版物结尾都有一个索引供读者定位其中的特定单词或者短语。索引依字母顺序列出这些单词或者短语,使读者能够快速定位到索引里的特定字母,找到所需条目,然后找到指定页或者单词或短语可能存在的那些页。如同人们使用索引在出版物中查找单词一样,数据库服务器也使用索引定位表中的行。与普通的数据表不同,索引是一种以特定顺序保存的专用表。不过,索引并不包含实体中的所有数据,而是那些用于定位表中行的列,以及描述这些行的物理位置的信息。
“如果你决定开始学习SQL语言,那么请卷起袖子大干一场吧,不过别忘了让本书成为你的伙伴。阅读本书并完成书中每个实践练习,可以为创建基于数据库的解决方案做好准备。数据库无所不在,本书向你提供作者在工作中经过实践检验的宝贵经验。” ——Roy Owens 来自CBORD Group公司的数据库专家
《SQL学习指南(第2版)》内容更新至新版本的数据库管理系统,包括MySQL 6.O、0racle 11g和MicrOSOft SQL Server2008。无论你需要编写数据库应用程序还是执行数据库管理任务,或是生成数据报表,《SQL学习指南(第2版)》都能够帮助你轻松掌握SQL语言的基础知识。《SQL学习指南(第2版)》教你学会以下技能:掌握SQL语言的基础知识和高级特性;使用SQL数据语言创建、操作和获取数据;使用SQL方案语言创建数据库对象,如表、索引和约束;了解数据集如何与查询语句交互,理解子查询的重要性;使用SQL内建函数转换和操作数据,在数据语句中使用条件逻辑。
无
SQL入门SQL入门SQL入门
这本是个好书 适合 要学习数据库的人
mysql的基础书
学习mysql,还好
适合初学者入门的学习,还不错
在书店看到就非常喜欢,详细而不罗嗦,非常实用又一定基础但又不太熟练的人,希望充分利用~
比大学的教材好很多
看到亚马逊有就买了,但是感觉好古老,是在库房里堆了挺久的吧……还没看,看完再说内容
送货速度很快 ,书是正版 质量不错
书写的很有调理,浅显易懂,适合作为入门书籍。
不会是假书吧?纸也太薄了,还发黄。不知道是卓越的问题还是人民邮电出版社的问题。之前买东南出的奥莱利纸张比这本好多了。失望!
送的速度挺快,书也简单易懂
虽然内容涵盖市面上几种数据库 但内容更侧重于Mysql
前12章是基础知识。以MySQL为数据库介绍SQL语言。内容还算易懂。值得推荐。
书的内容好坏暂且不去说 送过来的新书 包装是完好的 但感觉书等人家垫桌角10多年一样 封面脏的不得了 作为一个著名的B2C电商 真不知道 怎么能发出来 管理上有重大缺陷
书还不错。送货也挺快,挺到位。
很简单很实用。参考mysql来看会比较好。对各种数据库的特性都进行了介绍。非常适合初学者的一本书。
学习 sql 经典
应该不错吧,可以系统学习下sql知识
书很不错质量什么的都很好。。
物美价廉,老用户了。
喜欢没有道理
非常非常简单易懂。
简单、详尽,适合查询者使用
这是一本关于SQL的书,不是关于数据库的。
以MySQL为例来讲,不过对于SQL Server, Oracle等的不同也做了说明。
对SQL语言有一个全面的覆盖,针对不同的需求场景,介绍了使用方法和技巧。
作为参考手册放在手头很合适,可以查阅语法细节,也可以对照实例来模仿出代码。
翻译的挺好,读起来很自然。
看过之后着实觉得,还是掌握数据库基本理论最重要,操作层面的东西看再多也只是“术”上的提高。
另外,这本书主要讲SQL语言,但在数据库理论和数据库实践之间,还有一块儿是具体使用的数据库。无论是MySQL, Postgresql还是Oracle,都还需要大本的手册来学习其各自的使用。
值得一读。