SQL 零基础入门教程

SQL 是使用最为广泛的数据库语言。不管你是应用开发者、数据库管理员、Web 应用设计师、移动应用开发人员,还是只使用流行的报表工具的普遍用户,掌握良好的 SQL 知识对用好数据库都是很重要的。

本 SQL 零基础入门教程将讲授读者需要了解的 SQL 知识,从简单的数据检索入手,逐步过渡到一些较为复杂的内容,如联结、子查询、存储过程、游标、触发器以及表约束等。读者将从本教程中循序渐进、系统而直接地学到 SQL 的知识和技巧。

一、了解 SQL#

这一部分介绍了什么是 SQL,它为什么很有用。因为 SQL 是用来与数据库打交道的,所以,我们也复习了一些基本的数据库术语。

二、检索数据#

这一部分的 SQL 教程学习了如何使用 SQL 的 SELECT 语句来检索单个表列、多个表列以及所有表列。你也学习了如何返回不同的值,如何注释代码。同时不好的消息是,复杂的 SQL 语句往往不够通用。下一部分将讲授如何对检索出来的数据进行排序。

三、排序检索数据#

这一部分的 SQL 教程学习了如何用 SELECT 语句的 ORDER BY 子句对检索出的数据进行排序。这个子句必须是 SELECT 语句中的最后一条子句。根据需要,可以利用它在一个或多个列上对数据进行排序。

四、过滤数据#

这一部分的 SQL 零基础入门教程介绍了如何用 SELECT 语句的 WHERE 子句过滤返回的数据。我们学习了如何检验相等、不相等、大于、小于、值的范围以及 NULL 值等。

五、高级数据过滤#

这一部分讲授如何用 ANDOR 操作符组合成 WHERE 子句,还讲授了如何明确地管理求值顺序,如何使用 INNOT 操作符。

六、用通配符进行过滤#

这一部分的 SQL 零基础入门教程介绍了什么是通配符,如何在 WHERE 子句中使用 SQL 通配符,还说明了通配符应该细心使用,不要使用过度。

七、创建计算字段#

这一部分介绍了计算字段以及如何创建计算字段。我们用例子说明了计算字段在字符串拼接和算术计算中的用途。此外,还讲述了如何创建和使用别名,以便应用程序能引用计算字段。

八、使用函数处理数据#

这一部分的 SQL 教程介绍了如何使用 SQL 的数据处理函数。虽然这些函数在格式化、处理和过滤数据中非常有用,但它们在各种 SQL 实现中很不一致。

九、汇总数据#

聚集函数用来汇总数据。SQL 支持 5 个聚集函数,可以用多种方法使用它们,返回所需的结果。这些函数很高效,它们返回结果一般比你在自己的客户端应用程序中计算要快得多。

十、分组数据#

上一部分介绍了如何用 SQL 聚集函数对数据进行汇总计算。这一部分的 SQL 教程讲授了如何使用 GROUP BY 子句对多组数据进行汇总计算,返回每个组的结果。我们看到了如何使用 HAVING 子句过滤特定的组,还知道了 ORDER BYGROUP BY 之间以及 WHEREHAVING 之间的差异。

十一、使用子查询#

这一部分的 SQL 教程学习了什么是子查询,如何使用它们。子查询常用于 WHERE 子句的 IN 操作符中,以及用来填充计算列。我们举了这两种操作类型的例子。

十二、联结表#

联结是 SQL 中一个最重要、最强大的特性,有效地使用联结需要对关系数据库设计有基本的了解。这一部分的 SQL 零基础入门教程在介绍联结时,讲述了一些关系数据库设计的基本知识,包括等值联结(也称为内联结)这种最常用的联结。下一部分将介绍如何创建其他类型的联结。

十三、创建高级联结#

这一部分是上一部分的延续,首先讲授了如何以及为什么使用别名,然后讨论不同的联结类型以及每类联结所使用的语法。我们还介绍了如何与联结一起使用聚集函数,以及在使用联结时应该注意的问题。

十四、组合查询#

这一部分的 SQL 教程讲授如何用 UNION 操作符来组合 SELECT 语句。利用 UNION,可以把多条查询的结果作为一条组合查询返回,不管结果中有无重复。使用 UNION 可极大地简化复杂的 WHERE 子句,简化从多个表中检索数据的工作。

十五、插入数据#

这一部分的 SQL 教程介绍如何将行插入到数据库表中。我们学习了使用 INSERT 的几种方法,为什么要明确使用列名,如何用 INSERT SELECT 从其他表中导入行,如何用 SELECT INTO 将行导出到一个新表。下一部分将讲述如何使用 UPDATEDELETE 进一步操作表数据。

十六、更新和删除数据#

这一部分的 SQL 教程讲述了如何使用 UPDATEDELETE 语句处理表中的数据。我们学习了这些语句的语法,知道了它们可能存在的危险,了解了为什么 WHERE 子句对 UPDATEDELETE 语句很重要,还学习了为保证数据安全而应该遵循的一些指导原则。

十七、创建和操纵表#

这一部分的 SQL 教程介绍了几条新的 SQL 语句。CREATE TABLE 用来创建新表,ALTER TABLE 用来更改表列(或其他诸如约束或索引等对象),而 DROP TABLE 用来完整地删除一个表。这些语句必须小心使用,并且应该在备份后使用。由于这些语句的语法在不同的 DBMS 中有所不同,所以更详细的信息请参阅相应的 DBMS 文档。

十八、使用视图#

视图为虚拟的表。它们包含的不是数据而是根据需要检索数据的查询。视图提供了一种封装 SELECT 语句的层次,可用来简化数据处理,重新格式化或保护基础数据。

十九、使用存储过程#

这一部分的 SQL 教程介绍了什么是存储过程,为什么使用存储过程。我们介绍了执行和创建存储过程的语法,使用存储过程的一些方法。存储过程是个相当重要的主题,一个部分的内容无法全部涉及。各种 DBMS 对存储过程的实现不一,你使用的 DBMS 可能提供了一些这里提到的功能,也有其他未提及的功能,更详细的介绍请参阅具体的 DBMS 文档。

二十、管理事务处理#

这一部分的 SQL 教程介绍了事务是必须完整执行的 SQL 语句块。我们学习了如何使用 COMMITROLLBACK 语句对何时写数据、何时撤销进行明确的管理;还学习了如何使用保留点,更好地控制回退操作。事务处理是个相当重要的主题,一个部分的内容无法全部涉及。各种 DBMS 对事务处理的实现不同,详细内容请参考具体的 DBMS 文档。

二十一、使用游标#

我们在这个部分讲授了什么是游标,为什么使用游标。你使用的 DBMS 可能会提供某种形式的游标,以及这里没有提及的功能。更详细的内容请参阅具体的 DBMS 文档。

二十二、高级 SQL 特性#

本部分的 SQL 零基础入门教程讲授如何使用 SQL 的一些高级特性。约束是实施引用完整性的重要部分,索引可改善数据检索的性能,触发器可以用来执行运行前后的处理,安全选项可用来管理数据访问。不同的 DBMS 可能会以不同的形式提供这些特性,更详细的信息请参阅具体的 DBMS 文档。

(完)

comments powered by Disqus