SQL 是目前使用最为广泛的数据库语言之一。本书没有涉及理论,而是从实践出发,由浅入深地讲解了广大读者所必需的SQL 知识,适用于各种主流数据库。实例丰富,便于查阅。本书涉及不同平台上数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,通过本书读者可以系统地学习到SQL 的知识和方法。
本书注重实用性,操作性很强,适合于SQL 的初学者学习和广大软件开发及管理人员参考。
第1章 了解SQL
第2章 检索数据
第3章 排序检索数据
第4章 过滤数据
第5章 高级数据过滤
第6章 用通配符进行过滤
第7章 创建计算字段
第8章 使用数据处理函数
第9章 汇总数据
第10章 分组数据
第11章 使用子查询
第12章 联结表
第13章 创建高级联结
第14章 组合查询
第15章 插入数据
第16章 更新和删除数据
第17章 创建和操纵表
第18章 使用视图
第19章 使用存储过程
第20章 管理事务处理
第21章 使用游标
第22章 了解高级SQL特性
附录A 样例表脚本
A.1 样例表
A.2 获得样例表
A.2.1 下载可供使用的Microsoft Access MDB文件
A.2.2 下载DBMS SQL脚本
附录B 流行的应用系统
B.1 使用Aqua Data Studio
B.2 使用DB2
B.3 使用Macromedia ColdFusion
B.4 使用Microsoft Access
B.5 使用Microsoft ASP
B.6 使用Microsoft ASP.NET
B.7 使用Microsoft Query
B.8 使用Microsoft SQL Server
B.9 使用MySQL
B.10 使用Oracle
B.11 使用PHP
B.12 使用PostgreSQL
B.13 使用Query Tool
B.14 使用Sybase
B.15 配置ODBC数据源
附录C SQL语句的语法
C.1 ALTER TABLE
C.2 COMMIT
C.3 CREATE INDEX
C.4 CREATE PROCEDURE
C.5 CREATE TABLE
C.6 CREATE VIEW
C.7 DELETE
C.8 DROP
C.9 INSERT
C.10 INSERT SELECT
C.11 ROLLBACK
C.12 SELECT
C.13 UPDATE
附录D SQL数据类型
D.1 串数据类型
D.2 数值数据类型
D.3 日期和时间数据类型
D.4 二进制数据类型
附录E SQL保留字
索引
Ben Forta是世界知名的技术作家,也是Adobe技术界最为知名的专家之一,目前担任Adobe公司的高级技术推广专家。他具有计算机行业20多年工作经验,多年来撰写了十几本技术图书,其中不少是世界畅销书,已被翻译为十几种文字。除本书外,他撰写的《正则表达式必知必会》也即将由人民邮电出版社出版。读者可以通过他的个人网站http://www.forta.com了解更多信息。
SQL是使用最为广泛的数据库语言之一。不管你是应用开发人员、数据库管理人员、Web应用设计人员,还是Microsoft Office用户,掌握良好的SQL知识对于与数据库打交道是很重要的。
本书可以说是应需而生。我曾经讲授过多年的Web应用开发,学生们经常要求我推荐有关SQL的图书。SQL方面的图书有许多,有的其实很不错,但它们都有一个共同的特点,就是对于大多数读者来说,它们所讲授的内容太多了。大多数书籍讲授的不是SQL本身,而是从数据库设计、规范化到关系数据库理论以及相关管理等所有内容。当然,这些内容都很重要,但并不是大多数仅想学习SQL的读者所感兴趣的。
因此,在找不到合适的书籍推荐给学生的情况下,我把在课堂上给学生讲授的SQL知识汇编成了本书。本书将讲授读者需要了解的SQL知识,我们从简单的数据检索入手,然后再介绍一些较为复杂的内容,如联结、子查询、存储过程、游标、触发器以及表约束等。读者将从本书中循序渐进、系统、直接地学到SQL的知识和技巧。
这是本书的第3版,它已经教会了成千上万的读者使用SQL。现在轮到你了,让我们翻到第1章,开始学习吧。你将很快编写出世界级的SQL。
读者对象
本书适合以下读者:
SQL新手;
希望快速学会使用SQL;
希望知道如何在应用程序开发中使用SQL;
希望在无人帮助的情况下有效快速地使用SQL。
本书涵盖的DBMS
一般来说,本书中所讲授的SQL可以应用到任何数据库管理系统(DBMS)。但是,因为所有SQL实现并不都是相同的,所以本书介绍的SQL主要适用于以下系统(需要时会给出特定的说明和注释):
IBM DB2;
Microsoft Access;
Microsoft SQL Server;
MySQL;
Oracle;
PostgreSQL;
Sybase Adaptive Server。
本书中所有数据库和SQL脚本例子对于这些DBMS都是适用的。
本书约定
本书采用等宽字体表示代码,读者输入的文本与应该出现在屏幕上的文本也以等宽字型给出。如:
It will look like this to mimic the way text looks on your screen.
代码行前的箭头( )表示行中代码太长,该行容纳不下。在 符号后输入的所有字符都应该是前一行的内容。
说明:给出上下文讨论中比较重要的信息。
提示:为某任务给出建议或一种更简单的方法。
注意:提醒可能出现的问题,避免出现事故。
新术语,提供新的基本词汇的清晰定义。
表示读者可以自己输入的代码。
强调某个程序执行时的输出。
告诉读者将对程序代码进行逐行分析。
无封面