摘要:在本教程中,您将了解数据库和 SQL,SQL 是与数据库交互的标准语言。
数据库简介 #
数据库是存储在计算机上的结构化数据集合。它是高效存储和组织数据的强大工具。
如今,从您的智能手机到电脑,再到您使用的在线服务,数据库无处不在。
以下是数据库的一些主要特点:
- 高效的数据存储:数据库提供了一个集中位置来存储结构化数据,如销售、库存和财务数据。
- 快速的数据检索:数据库允许您快速访问信息,比从电子表格和其他平面文件中读取数据要快得多。
- 高效的数据管理:数据库允许您快速插入、更新和删除数据。
- 数据共享:数据库使多个用户和应用程序能够同时访问中央信息。
- 数据分析:数据库提供了分析数据和获得有价值见解的结构。
数据库有多种类型,每种都有其特定的用例。
以下是两种常见的数据库类型:
- 关系型数据库管理系统 (RDBMS):这是最常见的数据库类型,将数据组织成包含行和列的表。流行的 RDBMS 有 PostgreSQL、MySQL、MariaDB、Oracle Database、SQL Server 和 IBM Db2。
- 文档数据库(或 NoSQL 数据库):这类数据库以文档形式存储数据。流行的文档数据库有 MongoDB、Databricks 和 Amazon DynamoDB。
要与 RDBMS 中的数据进行交互,您需要使用结构化查询语言(Structured Query Language)或 SQL,这也是本站的核心主题。
SQL 概述 #
SQL 是 Structured Query Language(结构化查询语言)的缩写。SQL 的发音为 /ˈɛs kjuː ˈɛl/ 或 /ˈsiːkwəl/。
SQL 是与 RDBMS 交互的标准语言。它允许您:
- 创建和维护数据库结构,如表。
- 插入、更新和删除数据。
- 从表中检索数据。
SQL 由三个主要部分组成:
- 数据定义语言 (DDL) 用于处理数据库结构的创建和修改。例如,CREATE TABLE、ALTER TABLE 和 DROP TABLE 语句。
- 数据操作语言 (DML) 提供查询数据的语句,如 SELECT 语句,以及修改数据的语句,如 INSERT、UPDATE 和 DELETE 语句。
- 数据控制语言 (DCL) 包括处理用户授权和安全性的语句,如 GRANT 和 REVOKE 语句。
SQL 关键概念 #
RDBMS 的核心是表。表允许您将数据组织成行和列:
- 列:代表特定的字段
- 行:存储单个记录。
例如,一个 employees 表有 employee_id、first_name、last_name、email、phone_number 等列。它包含许多行,每一行代表一条员工记录。
SQL 标准 #
SQL 是自 1970 年代以来最早的商业数据库语言之一。从那时起,不同的数据库供应商在其产品中实现了 SQL,但存在一些差异。
美国国家标准协会 (ANSI) 于 1986 年发布了第一个 SQL 标准,以提高供应商之间的一致性。ANSI 在 1992 年更新了 SQL 标准(SQL92 或 SQL2),并在 1999 年再次更新为 SQL99 或 SQL3。每一次,ANSI 都向 SQL 语言中添加了新的功能和命令。
如今,ANSI 和国际标准化组织将 SQL 标准作为 ISO/IEC 9075 标准进行维护。最新的发布标准是 SQL:2023。
SQL 标准规范了跨数据库产品的 SQL 语法结构和行为。这对于开源数据库(如 MySQL 和 PostgreSQL)来说更为重要,因为这些 RDBMS 主要由社区而非大公司开发。
SQL 方言 #
SQL 方言就像英国、美国和印度等不同英语国家所说的英语一样。
SQL 方言的存在有以下原因:
- 创新:RDBMS 供应商和社区不断添加新功能以优化其数据库产品。SQL 方言允许他们提供不属于 SQL 标准的独特功能。
- 性能:方言包含适用于特定数据库的语句,从而使语句执行得更快。
以下是一些流行的 SQL 方言:
- MySQL 自版本 5 起就有了过程式语言。
- PL/SQL 代表过程式语言/SQL。它由 Oracle 公司为 Oracle 数据库开发。
- Transact-SQL 或 T-SQL 由微软为 Microsoft SQL Server 开发。
- PL/pgSQL 代表过程式语言/PostgreSQL,它由 PostgreSQL 中实现的 SQL 方言和扩展组成。
在每个教程中,我们将解释在各种数据库中都有效的 SQL 语法结构和行为。我们还将讨论在特定数据库中可能存在的例外情况。