摘要:本教程将向你介绍 SQL 语言,讨论标准 SQL 和一些流行的 SQL 方言。
SQL 语言简介
SQL 是为管理存储于关系型数据库管理系统 (RDBMS) 的数据而设计的编程语言。
SQL 的全称是结构化查询语言。其读音为 /ˈɛs kjuː ˈɛl/ 或 /ˈsiːkwəl/。
SQL 包含数据定义语言、数据操作语言和数据控制语言。
- 数据定义语言用于处理模式创建和修改,例如,CREATE TABLE 语句允许你创建一个新表,而 ALTER TABLE 语句可更改现有表的结构。
- 数据操作语言提供查询数据(例如 SELECT 语句)和更新数据(例如 INSERT、UPDATE 和 DELETE 语句)的指令。
- 数据控制语言包含处理用户授权和安全性的语句,例如 GRANT 和 REVOKE 语句。
SQL 标准
SQL 是最早的商用数据库语言之一,1970 年便已问世。自此,不同的数据库供应商在各自的产品中以不同的形式实现了 SQL。为使供应商之间更加一致,美国国家标准协会 (ANSI) 于 1986 年发布了第一版 SQL 标准。
紧接着,ANSI 于 1992 年更新了 SQL 标准,即 SQL92 和 SQL2,并于 1999 年再次更新为 SQL99 和 SQL3。ANSI 每次都会为 SQL 语言添加新功能和命令。
SQL 标准现由 ANSI 和国际标准化组织共同维护,标准号为 ISO/IEC 9075。最新发布的标准是 SQL:2011。
SQL 标准在语法结构和行为上对数据库产品进行了规范。这对于开源数据库而言更加重要,例如 MySQL 和 PostgreSQL,其 RDBMS 主要由社区而非大公司来开发。
SQL 方言
社区持续要求 SQL 标准中尚未存在的新功能和能力,因此,即使有 SQL 标准,在各种数据库产品中也存在许多 SQL 方言。
由于 ANSI 和 ISO 尚未开发出这些重要功能,RDBMS 供应商(或社区)可以自由地创造自己的新语法结构。
以下是最流行的 SQL 方言
- PL/SQL 的全称是过程语言/SQL。它由 Oracle 为 Oracle 数据库 开发。
- Transact-SQL 或者 T-SQL 由 Microsoft 为 Microsoft SQL Server 开发。
- PL/pgSQL 的全称是过程性语言/PostgreSQL,它包含 PostgreSQL 中实现的 SQL 方言和扩展。
- MySQL 拥有自己的 过程性语言,其版本为 5。请注意,MySQL 已被 Oracle 收购。
在每篇教程中,我们会讲解跨数据库有效的 SQL 语法 结构和行为。如果特定数据库存在例外情况,我们也会对其进行讨论。
本篇教程有帮助吗?