SQL 命令根据其用途分为五个主要类别:数据定义语言 (DDL)、数据操作语言 (DML)、数据控制语言 (DCL)、事务控制语言 (TCL) 和数据查询语言 (DQL)。每种类型都在管理数据库中发挥着独特的作用。 DDL 侧重于构建数据库,DML 处理数据修改,DCL 管理访问权限,TCL 控制事务,DQL 检索数据。这些类别为开发人员系统地与数据库交互提供了框架。
数据定义语言 (DDL) 命令定义或修改数据库模式。 示例包括 CREATE
、ALTER
和 DROP
。CREATE TABLE
构建一个包含指定列和数据类型的新表,而 ALTER TABLE
添加或删除列。DROP TABLE
完全删除表。 DDL 命令在初始数据库设计或结构更新期间至关重要。 例如,使用 ALTER TABLE users ADD email VARCHAR(255);
向 users
表添加一个 email
列,修改模式而不影响现有数据。 这些命令通常很少执行,需要仔细规划,因为它们直接影响数据库的架构。
数据操作语言 (DML) 和 数据查询语言 (DQL) 处理数据交互。 DML 包括 INSERT
、UPDATE
和 DELETE
,它们添加、修改或删除记录。 例如,INSERT INTO users (name, age) VALUES ('Alice', 30);
添加一个新行。 DQL 通常被认为是 DML 的一个子集,围绕着用于查询数据的 SELECT
。 像 SELECT name FROM users WHERE age > 25;
这样的查询检索特定记录。 虽然 DML 侧重于更改数据,但 DQL 提取数据以进行分析或显示。 这些命令经常用于应用程序中,例如更新用户的个人资料或从目录中获取产品详细信息。
数据控制语言 (DCL) 和 事务控制语言 (TCL) 管理权限和事务完整性。 DCL 包括 GRANT
和 REVOKE
,它们控制用户访问。 例如,GRANT SELECT ON orders TO analyst;
允许用户读取订单数据。 像 COMMIT
和 ROLLBACK
这样的 TCL 命令确保事务(一系列操作)要么完全完成,要么在失败时恢复。 如果银行应用程序在帐户之间转移资金,COMMIT
会在两个更新都成功后最终确定更改,而如果发生错误,ROLLBACK
会撤消这些更改。 这些命令维护安全性和数据一致性,尤其是在多用户环境中。