SQL基础教程

出版时间:2009-12  出版社:人民邮电出版社  作者:(美)费希利(Fehily, C.)  页数:343  字数:629000  译者:冯宇晖,贾文峰  
Tag标签:无  

前言

  SQL,是一种标准的编程语言,用于创建、更新和检索存储在数据库中的信息。使用SQL,你可以将通常的问题(“我们的客户居住在何地?”)转化为数据库系统能够理解的语句(SELECT DISlINCT city,state FROM customers;)。你可能已经知道如何通过图形化的查询或报表工具来检索此类信息,但对于复杂的问题,或许你也意识到此类工具存在诸多限制和障碍——这时就需要SQL了。  可以使用SQL来增加、更新、删除数据和数据库对象。所有现代关系型DBMS(数据库管理系统)都支持SQL,但不同产品的支持情况会有所不同。  本书涉及大多数流行:DBMS的最新版本,并专门新增一章来介绍sQL技巧,包括最新的编程技巧提示、细微变化和高级主题,以及其他零星知识。关于SQL  SQL可以如下表述:  是一种编程语言;  容易学习:  是说明性语言;  是交互式或嵌入式语言;  是标准化语言;  用于改变数据和数据库对象;  不是首字母缩写词。  它是一种编程语言。SQL,是一种可以用来编写程序,实现创建、修改、查询数据库的形式语言。数据库系统执行SQL,程序,完成用户指定的任务,并显示结果或错误信息。编程语言有别于自然语言,它是为了特殊用途而设计的,其词汇量小、语句书写呆板且必须明确无误。如果你没有得到希望的结果,只能怪你自己的程序包含某些错误,而不是计算机错误地执行了指令(程序测试是编程的一项重要工作)。

内容概要

本书是一本SQL的入门书,介绍如何使用最常用的SQL语言维护和查询数据库信息。书中介绍了各种DBMS,关系模型理论,SQL语法,从表中检索数据,操作符和函数,汇总和分组数据,联结,子查询,集合操作,创建、更改和删除表,索引,视图,事务和SQL技巧等。本书比较了各种DBMS中的SQL实现,并给出大量实例代码及经验技巧。    本书适合SQL初学者,同时也可作为数据库应用开发人员和最终用户的参考书。

作者简介

  Chris Fehily,知名技术作家,顾问,具有十几年的设计和开发经验,主要兴趣在编程语言和生物信息学等方面。

书籍目录

第1章 DBMS介绍 1.1 运行SQL程序 1.2 Microsoft Access 1.3 Microsoft SQL Server  1.3.1 SQL Server 2000  1.3.2 SQL Server 2005/2008 1.4 Oracle 1.5 IBM DB2 1.6 MySQL 1.7 PostgreSQL第2章 关系模型 2.1 表、列和行  2.1.1 表  2.1.2 列  2.1.3 行 2.2 主键 2.3 外键 2.4 联系  2.4.1 一对一  2.4.2 一对多  2.4.3 多对多 2.5 规范化  2.5.1 第一范式  2.5.2 第二范式  2.5.3 第三范式  2.5.4 其他范式 2.6 示例数据库  2.6.1 表authors  2.6.2 表publishers  2.6.3 表titles  2.6.4 表titles_authors  2.6.5 表royalties 2.7 创建示例数据库第3章 SQL基础 3.1 SQL语法 3.2 SQL标准和一致性 3.3 标识符 3.4 数据类型 3.5 字符串类型 3.6 二进制大型对象类型 3.7 精确数字类型 3.8 近似数字类型 3.9 布尔类型 3.10 日期和时间类型 3.11 时间间隔类型 3.12 唯一标识符 3.13 其他数据类型 3.14 空值第4章 从表中检索数据 4.1 使用SELECT和FROM检索列 4.2 使用AS创建列的别名 4.3 使用DISTINCT消除重复的行 4.4 使用ORDER BY排序行 4.5 使用WHERE筛选行 4.6 使用AND、OR和NOT组合及求反条件  4.6.1 AND操作符  4.6.2 OR操作符  4.6.3 NOT操作符  4.6.4 AND、OR和NOT一起使用 4.7 使用LIKE匹配模式 4.8 使用BETWEEN进行范围筛选 4.9 使用IN进行列表筛选 4.10 使用IS NULL测试空值第5章 操作符和函数 5.1 创建派生列 5.2 执行算术运算 5.3 确定计算的顺序 5.4 使用||连接串 5.5 使用SUBSTRING()提取子串 5.6 使用UPPER()和LOWER()更改串的大小写 5.7 使用TRIM()修整字符 5.8 使用CHARACTER_LENGTH()得到串长度 5.9 使用POSITION()查找子串 5.10 执行日期及时间间隔运算 5.11 获得当前日期和时间 5.12 获得用户信息 5.13 使用CAST()转换数据类型 5.14 使用CASE计算条件值 5.15 使用COALESCE()检查空值 5.16 使用NULLIF()比较表达式第6章 汇总和分组数据 6.1 使用聚合函数 6.2 创建聚合表达式 6.3 使用MIN()查找最小值 6.4 使用MAX()查找最大值 6.5 使用SUM()计算总和 6.6 使用AVG()计算平均值 6.7 使用COUNT()统计行数 6.8 使用DISTINCT聚合不重复的值 6.9 使用GROUP BY分组行 6.10 使用HAVING筛选分组第7章 联结 7.1 限定列名 7.2 使用AS创建表的别名 7.3 使用联结 7.4 使用JOIN或WHERE创建联结 7.5 使用CROSS JOIN创建交叉联结 7.6 使用NATURAL JOIN创建自然联结 7.7 使用INNER JOIN创建内联结 7.8 使用OUTER JOIN创建外联结 7.9 创建自联结第8章 子查询 8.1 理解子查询 8.2 子查询语法 8.3 子查询和联结 8.4 简单子查询和相关子查询  8.4.1 简单子查询  8.4.2 相关子查询 8.5 在子查询中限定列名 8.6 子查询中的空值 8.7 使用子查询作为列表达式 8.8 使用比较操作符比较子查询的值 8.9 使用IN测试集合成员资格 8.10 使用ALL比较所有子查询的值 8.11 使用ANY比较某些子查询的值 8.12 使用EXISTS检测存在性 8.13 比较等价查询第9章 集合操作 9.1 使用UNION合并行 9.2 使用INTERSECT查找相同行 9.3 使用EXCEPT查找不同行第10章 插入、更新和删除行 10.1 显示表结构 10.2 使用INSERT插入行 10.3 使用UPDATE更新行 10.4 使用DELETE删除行第11章 创建、更改和删除表 11.1 创建表 11.2 理解约束 11.3 使用CREATE TABLE创建新表 11.4 使用NOT NULL禁止空值 11.5 使用DEFAULT确定默认值 11.6 使用PRIMARY KEY指定主键 11.7 使用FOREIGN KEY指定外键 11.8 使用UNIQUE确保值唯一 11.9 使用CHECK创建检查约束 11.10 使用CREATE TEMPORARY TABLE创建临时表 11.11 使用CREATE TABLE AS利用已存在表创建新表 11.12 使用ALTER TABLE修改表 11.13 使用DROP TABLE删除表第12章 索引 12.1 使用CREATE INDEX创建索引 12.2 使用DROP INDEX删除索引第13章 视图 13.1 使用CREATE VIEW创建视图 13.2 通过视图检索数据 13.3 通过视图修改数据  13.3.1 通过视图插入行  13.3.2 通过视图更新行  13.3.3 通过视图删除行 13.4 使用DROP VIEW删除视图第14章 事务第15章 SQL技巧 15.1 动态统计 15.2 产生序列 15.3 发现等差数列、递增数列和等值数列 15.4 限定返回行的数量  15.4.1 Microsoft Access  15.4.2 Microsoft SQL Server  15.4.3 Oracle  15.4.4 IBM DB2  15.4.5 MySQL  15.4.6 PostgreSQL 15.5 分配排名 15.6 计算修整均值 15.7 随机选取行 15.8 处理重复值 15.9 创建电话列表 15.10 检索元数据  15.10.1 Microsoft Access  15.10.2 Microsoft SQL Server  15.10.3 Oracle  15.10.4 IBM DB2  15.10.5 MySQL  15.10.6 PostgreSQL 15.11 处理日期  15.11.1 Microsoft Access  15.11.2 Microsoft SQL Server  15.11.3 Oracle  15.11.4 IBM DB2  15.11.5 MySQL  15.11.6 PostgreSQL 15.12 计算中值  15.13 查询极值  15.14 改变动态统计的中流  15.15 旋转结果  15.16 处理层次结构索引

章节摘录

  事务日志。事务日志文件(transactionlogfile)或日志(log)是有关事务对数据库进行修改的一系列记录。事务日志记录了每个事务开始、数据的变化以及撤销或重新执行事务(如果将来需要)的足够信息。日志随着数据库事务的执行不断增长。  尽管保证每个事务本身的完整性是DBMS的职责,但依据组织或公司规章来开始和结束事务以保证数据逻辑的一致性则是数据库开发人员的责任。事务应该仅包含能做出一致修改的必要的SQL语句——不多不少。所有引用表中的数据在事务开始前和事务结束后必须保持一致。在设计和执行事务时,要重点考虑以下方面。  事务相关的SQL语句会修改数据,所以执行事务要得到数据库管理员的授权。  事务过程应用于那些改变数据和数据库对象的语句(INSERT、UPDATE、UPDETE、DELETE、CREATE、ALTER、  DROP——因不同DBMS而异)。对于工作中用到的数据库,每一条这样的语句都应该作为事务的一部分执行。  提交了的事务被称作持久化,意味着永久性改变,即便系统发生故障仍能保持。  DBMS的数据恢复机制依赖于事务。当DBMS在故障之后被在线复原,DBMS检查事务日志确认是否所有事务都提交给了数据库。如发现没有提交(部分执行)的事务,依据日志将它们回滚。必须重新提交回滚的事务(尽管一些DBMS能够自动完成没有结束的事务)。  DBMS的备份/恢复设备依赖于事务。备份设备获得例行的数据库快照并将它们和随后的事务日志存储在备份盘上。假定使用的硬盘发生故障使得数据和事务日志不可读。可以借助于恢复设备,它将采用最近的数据库备份并执行,或前滚所有从快照到故障前最后执行并在日志中提交的事务。这个恢复操作使数据库恢复到故障发生前的正确状态(注意,要再次提交没有提交的事务)。  显然,应该将数据库和它的事务日志存储于不同的物理硬盘。

媒体关注与评论

  “我是个计算机教师,通常对那些计算机书没有太多好感。但这本书我忍不住要向大家推荐,我用它作SQL教材,效果很好……非常实用。例子很丰富,且知识点覆盖全面,深度也合适。”  ——Amazon.com读者评论  “绝佳的SQL参考书。它一直在我手边,一旦遇到SQL方面的问题。我会首先寻求它的帮助。”  ——资深计算机取证专家Jerry Saperstein

编辑推荐

  Amazon五星图书,自学与参考两相宜、任务驱动,数百实例教你掌握SQL精髓、触类旁通,展现主流DBMS的SQL语句异同。  SQL语言结构简洁,功能强大,简单易学。在各种数据库产品中得到了广泛的应用。  《SQL基础教程(第3版)》是一本理论与实践完美结合的SQL著作。知名技术作家ChrisFehily不仅深入浅出地讲述了关系模型和SQL标准的来龙去脉,而且给出了几乎所有主流数据库的具体细节,非常适合SQL初学者入门。此外,《SQL基础教程(第3版)》还为读者提供了丰富直观的实例,并以这些实例为依托,不仅透彻地讲解了SQL基础知识,更展示了大量高级主题和实用技巧,因此,也适合有一定SQL经验的人阅读参考。鉴于《SQL基础教程(第3版)》以任务驱动的方式组织设计了大量实例。相关专业的在校师生也可以从中受益。

图书封面

图书标签Tags

评论、评分、阅读与下载


    SQL基础教程 PDF格式下载


用户评论 (总计7条)

 
 

  •   1.很适合初学者入门,我就是一点都不会的程度开始看的这本书,非常好学,讲的很细致;
    2.非常实用,像SQL的工具书一样,基础的语句清单在目录一目了然,适合开发者放在手边,随时查阅;
    3.内容很简单,易学易用;
    总的来说是一本很好的书,强烈推荐初学者作为入门宝典。
  •   内容非常好!讲的很详细,不过有些地方不知是语言晦涩还是涉及到一些超前的知识,讲的不是很明白。看了100多页,有个别地方有代码错误,不过完全能看出来。总起来说是本很好的SQL基础将成。非常好!
  •   总体上不错 不过 它好像跳过开头 直接将语言 总而言之 要读这本书最好还是看看最基础的 虽然它也是讲基础的 它就相当于催化剂 只要有一点 基础 会很大程度提高你自己
  •   正版,解说比较专业
  •   我不小心把一个评论写成啦非常差,不好意思哦,我错啦,是非常不错的,是我点错啦,电脑卡,然后一下子点错啦
  •   内容很详细,很好的SQL入门书籍
  •   不错,学习中...
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7