【数据库】DDL DML DQL DCL有什么区别?

  • DDL: 管结构(定义表、库等)

  • DML: 管数据(增、删、改数据)

  • DQL: 管查询(查询数据,是DML的子集,但因极其重要而常被单列)

  • DCL: 管权限(控制谁能访问什么)


一、核心对比表格

类别全称核心职责主要命令
DDL
(数据定义语言)
Data Definition Language定义和管理数据库结构CREATE
ALTER
DROP
TRUNCATE
RENAME
DML
(数据操作语言)
Data Manipulation Language操作数据库中的数据INSERT
UPDATE
DELETE
(SELECT)
DQL
(数据查询语言)
Data Query Language查询数据库中的数据SELECT
FROM
WHERE
DCL
(数据控制语言)
Data Control Language控制数据库的访问权限和安全GRANT
REVOKE

二、详细解释与示例

1. DDL - 数据定义语言
  • 目标:创建和修改数据库本身的结构,如数据库、表、索引、视图等。

  • 关键特性自动提交,执行后立即生效,无法回滚。

sql

-- 创建表结构 (CREATE)
CREATE TABLE Employees (
    ID INT PRIMARY KEY,
    Name VARCHAR(100),
    Salary DECIMAL(10, 2)
);

-- 修改表结构 (ALTER)
ALTER TABLE Employees ADD Department VARCHAR(50);

-- 删除整个表 (DROP)
DROP TABLE Employees;
2. DML - 数据操作语言
  • 目标:对表中的记录进行增加、修改、删除操作。

  • 关键特性需要显式提交COMMIT)或回滚(ROLLBACK),操作在事务内进行。

sql

-- 插入数据 (INSERT)
INSERT INTO Employees (ID, Name, Salary)
VALUES (1, '张三', 50000);

-- 更新数据 (UPDATE)
UPDATE Employees SET Salary = 60000 WHERE ID = 1;

-- 删除数据 (DELETE)
DELETE FROM Employees WHERE Name = '张三';
3. DQL - 数据查询语言
  • 目标:从一张或多张表中检索所需的数据,而不对数据本身进行任何修改。

  • 说明:理论上,SELECT被归为DML,因为它操作的是数据。但由于它只读的特性和使用频率极高,在实践中常被单独列为DQL。

sql

-- 查询数据 (SELECT)
SELECT Name, Salary FROM Employees
WHERE Salary > 40000
ORDER BY Salary DESC;
4. DCL - 数据控制语言
  • 目标:管理数据库的用户权限,确保数据安全。

  • 关键特性:由数据库管理员(DBA)或拥有高级权限的用户使用。

sql

-- 授予权限 (GRANT)
GRANT SELECT, INSERT ON Employees TO user1;

-- 撤销权限 (REVOKE)
REVOKE DELETE ON Employees FROM user1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值