您已经了解了关系数据库如何使用主键和外键将信息组织成整齐的行和列的表格,以建立数据结构和关联。这是一个很好的起点。但您如何真正地与这些数据交互呢?您如何向数据库提问、添加新信息或纠正错误呢?答案就是结构化查询语言,它通常被称为 SQL(发音常为“sequel”或直接读作 S-Q-L)。可以把 SQL 看作是您用来与关系数据库管理系统 (DBMS) 通信的专用语言。就像您使用英语或西班牙语与他人交谈一样,您使用 SQL 与数据库对话。这是告诉数据库如何处理其所存数据的标准方式。什么是 SQL?SQL 是 结构化查询语言 的缩写。我们来具体看看它的含义:结构化 (Structured): SQL 命令遵循特定的、一致的语法和文法。这种结构确保您的指令对数据库系统而言清晰明确。您必须正确地构建请求,数据库才能理解它们。查询 (Query): 尽管“查询”通常意味着提问(检索数据),但 SQL 的功能不止于此。它用于查询数据,也用于插入新数据、更新现有数据和删除数据。它还可以用于管理数据库本身的数据结构,例如创建或修改表(尽管我们首先将侧重于数据交互)。语言 (Language): 它是一种完整的语言,专门用于管理和处理关系数据库中的数据。想象您的数据库是一个庞大而组织严密的仓库,而 DBMS 是仓库经理。SQL 就是您交给经理的一系列指令:“找出上周所有标记为‘客户订单’的箱子”、“将此新物品添加到 3B 货架上”或“更新物品 X 的位置”。标准及其变体SQL 最早于 20 世纪 70 年代开发,此后已成为美国国家标准学会 (ANSI) 和国际标准化组织 (ISO) 认可的官方标准。这种标准化非常有益,因为它意味着核心命令在不同的关系数据库系统中工作方式相似。然而,尽管核心语言是标准化的,但大多数特定的数据库系统(如 PostgreSQL、MySQL、Microsoft SQL Server、Oracle Database、SQLite)都会在标准 SQL 语法中添加自己的专有扩展和变体。可以将其视为口语方言——来自不同地区的人可能会使用略微不同的词语或表达方式,但核心语言仍然可以理解。对于本课程中涉及的基本操作(SELECT、INSERT、UPDATE、DELETE),语法在大多数常用数据库中都非常一致。SQL 操作类型SQL 命令可以根据其功能进行大致分类。虽然您现在不需要记住这些类别,但查看它们有助于您理解 SQL 的应用范围:数据查询语言 (DQL): 用于检索数据。这里的主要命令是 SELECT,您将大量使用它来向数据库请求特定信息。数据操作语言 (DML): 用于管理现有表中的数据。这包括添加新数据(INSERT)、修改现有数据(UPDATE)和删除数据(DELETE)。数据定义语言 (DDL): 用于定义和管理数据库本身的数据结构。CREATE TABLE、ALTER TABLE 和 DROP TABLE 等命令属于此类别。这些命令构建数据的“容器”。数据控制语言 (DCL): 用于管理权限和访问控制。GRANT(授予权限)和 REVOKE(撤销权限)等命令属于此处。在本章中,我们的主要侧重将是 DQL(使用 SELECT 获取数据)和 DML(使用 INSERT、UPDATE、DELETE 更改数据),因为这些是处理存储在表中信息的基本操作。现在您已经了解了 SQL 及其用途,我们准备好开始学习实际的命令了。我们将从最常见的操作开始:使用 SELECT 语句检索数据。