SQL 命令:DDL、DML、DQL、DCL、TCL

数据定义语言 (DDL)

数据定义语言 (DDL) 命令用于定义数据库结构或模式。

我们来看一些 DDL 命令,每个命令都有一个简单的示例。

i. CREATE

在 SQL 中,CREATE TABLE 命令用于在数据库中创建新表。例如,

CREATE TABLE Products (
    product_id INT,
    name VARCHAR(100),
    price DECIMAL
);

这里,SQL 命令创建了一个名为 Products 的新表,包含三个列:product_id(整数类型)、name(字符串类型,最多 **100** 个字符)和 price(用于存储价格的十进制类型)。

ii. ALTER TABLE

在 SQL 中,ALTER TABLE 命令用于修改现有表的结构,例如添加、删除、重命名列等。

让我们看一个例子。

-- add email column to Customers table
ALTER TABLE Customers
ADD email VARCHAR(100);

这里,SQL 命令向 Customers 表添加了一个名为 email 的列。

iii. DROP TABLE

在 SQL 中,DROP TABLE 命令用于删除数据库中指定的表。例如,

-- delete Orders table
DROP TABLE Orders;

这里,SQL 命令将删除名为 Orders 的表。


数据操作语言 (DML)

DML(数据操作语言)是 SQL 命令,专注于处理数据库中的数据,包括大多数 SQL 语句。

我们来看一些 DML 命令,每个命令都有一个简单的示例。

i. INSERT INTO

在 SQL 中,INSERT INTO 语句用于向数据库表中插入新行。例如,

-- insert a row in the Customers table
INSERT INTO Customers (customer_id, first_name, last_name, age, country)
VALUES (6, 'Alice', 'Brown', 30, 'Canada');

这里,SQL 命令使用给定值向 Customers 表插入新行。

ii. UPDATE

SQL UPDATE 语句用于编辑数据库表中的现有行。

让我们看一个例子。

-- update a single value in the given row
UPDATE Customers
SET age = 29
WHERE customer_id = 5;

此命令将 customer_id 为 **5** 的客户的 age 字段更新为 **29**。

iii. DELETE

SQL DELETE 语句用于从数据库表中删除行。例如,

DELETE FROM Customers
WHERE country = 'UAE';

这里,SQL 命令从 Customers 表中删除所有 countryUAE 的行。


数据查询语言 (DQL)

DQL 用于查询和检索数据库中的数据。它允许我们根据给定条件从一个或多个表中指定我们想要查看的精确数据。

SELECT

在 SQL 中,SELECT 语句用于从数据库表中选择(检索)数据。例如,

SELECT * FROM Customers
WHERE country = 'UK';

这里,SQL 命令从 Customers 表中检索所有 countryUK 的行。


数据控制语言 (DCL)

DCL 命令包括 GRANTREVOKE,它们用于控制对数据库的访问。

i. GRANT

在 SQL 中,GRANT 语句授予用户对数据库的访问权限。例如,

GRANT SELECT, UPDATE ON Customers TO user1;

此命令授予 user1Customers 表的 SELECTUPDATE 权限。

ii. REVOKE

在 SQL 中,REVOKE 语句撤销 GRANT 语句授予的访问权限。

让我们看一个例子。

REVOKE SELECT ON Customers FROM user1;

这里,SQL 查询撤销 user1Customers 表的 SELECT 权限。


事务控制语言 (TCL)

在 SQL 中,TCL 命令管理影响数据库的更改。

i. COMMIT

在 SQL 中,COMMIT 命令用于保存数据库中所做的更改。例如,

UPDATE Customers
SET country = 'UK'
WHERE customer_id = 4;
COMMIT;

这里,SQL 命令更新 customer_id 为 **4** 的客户的国家并提交事务。

ii. ROLLBACK

在 SQL 中,ROLLBACK 用于撤销尚未保存到数据库中的事务。例如,

DELETE FROM Orders;
ROLLBACK;

这里,查询从 Orders 表中删除了所有记录,但随后回滚了事务。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战