数据定义语言 (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 表中删除所有 country
为 UAE
的行。
数据查询语言 (DQL)
DQL 用于查询和检索数据库中的数据。它允许我们根据给定条件从一个或多个表中指定我们想要查看的精确数据。
SELECT
在 SQL 中,SELECT 语句用于从数据库表中选择(检索)数据。例如,
SELECT * FROM Customers
WHERE country = 'UK';
这里,SQL 命令从 Customers 表中检索所有 country
为 UK
的行。
数据控制语言 (DCL)
DCL 命令包括 GRANT
和 REVOKE
,它们用于控制对数据库的访问。
i. GRANT
在 SQL 中,GRANT
语句授予用户对数据库的访问权限。例如,
GRANT SELECT, UPDATE ON Customers TO user1;
此命令授予 user1
对 Customers 表的 SELECT
和 UPDATE
权限。
ii. REVOKE
在 SQL 中,REVOKE
语句撤销 GRANT
语句授予的访问权限。
让我们看一个例子。
REVOKE SELECT ON Customers FROM user1;
这里,SQL 查询撤销 user1
对 Customers 表的 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 表中删除了所有记录,但随后回滚了事务。