Quantcast
Channel: 小蓝博客
Viewing all articles
Browse latest Browse all 3155

DML、DQL、DCL基础概念介绍

$
0
0

在数据库管理系统(DBMS)中,SQL(Structured Query Language)是与数据库进行交互的主要语言,SQL 根据操作类型可以分为多种子类命令,最常见的包括DML(Data Manipulation Language,数据操作语言)、DQL(Data Query Language,数据查询语言)和DCL(Data Control Language,数据控制语言)。每一类命令针对数据库的不同操作领域,帮助开发者和管理员有效管理和查询数据库中的数据。下面将对这三类SQL命令进行详细介绍。

一、DML(数据操作语言)

DML 是用来对数据库中的数据进行操作的语言,包括插入、更新、删除数据等。DML命令直接对数据库表中的记录进行修改,但它不修改表的结构。常见的DML命令包括:

1.1 INSERT —— 插入数据

INSERT 语句用于向数据库表中插入新的数据行。例如:

INSERT INTO employees (id, name, position, salary)
VALUES (1, 'John Doe', 'Manager', 60000);

此语句将一条新的记录插入到 employees 表中。

1.2 UPDATE —— 更新数据

UPDATE 语句用于修改现有数据。例如:

UPDATE employees
SET salary = 65000
WHERE id = 1;

此语句将 id 为1的员工的薪资更新为65000。

1.3 DELETE —— 删除数据

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

DELETE FROM employees
WHERE id = 1;

此语句将删除 id 为1的员工记录。

DML 特点

  • DML 操作影响的是数据库中的数据,而不是表的结构。
  • DML 操作在执行后,数据的变更需要通过 COMMIT 提交到数据库中,如果不提交,DML 操作可以通过 ROLLBACK 撤销。

二、DQL(数据查询语言)

DQL 是专门用于从数据库中查询数据的语言。虽然SQL的完整形式包括很多功能,但最常用的功能就是查询,而DQL就是用于实现这一功能的。DQL命令主要是 SELECT

2.1 SELECT —— 查询数据

SELECT 是用于从数据库中检索数据的最常见命令。它支持从单个或多个表中查询数据,并允许使用 WHEREGROUP BYORDER BY 等子句进行过滤、分组和排序。例如:

SELECT name, position, salary
FROM employees
WHERE salary > 50000
ORDER BY salary DESC;

该语句将查询出 employees 表中所有薪资大于50000的员工,并按照薪资从高到低排序。

DQL 特点

  • 只用于检索数据,不会对数据或表结构进行修改。
  • 查询结果是临时的,除非明确保存或处理,否则不会影响数据库本身的内容。

三、DCL(数据控制语言)

DCL 主要用于管理数据库用户权限的授予和回收,确保数据库安全性和操作的可控性。常见的DCL命令包括 GRANTREVOKE

3.1 GRANT —— 授予权限

GRANT 语句用于给用户或角色授予权限,例如对某个表的查询或更新权限。例如:

GRANT SELECT, INSERT ON employees TO 'user1';

此语句将授予 user1 用户对 employees 表的 SELECTINSERT 权限。

3.2 REVOKE —— 撤销权限

REVOKE 语句用于撤销之前授予用户或角色的权限。例如:

REVOKE INSERT ON employees FROM 'user1';

此语句撤销了 user1 用户在 employees 表上的 INSERT 权限。

DCL 特点

  • DCL 操作用于管理数据库的安全性和访问控制。
  • 管理员通过DCL可以对用户的权限进行精细化管理,确保数据的安全性和合理使用。

四、DML、DQL、DCL 区别与联系

分类主要操作作用范围示例操作特点
DML插入、更新、删除数据操作数据内容INSERTUPDATEDELETE影响数据,但不影响表结构;操作需要提交才能生效。
DQL查询数据查询数据但不改变数据SELECT只检索数据,不对数据进行修改或提交。
DCL授权、撤销权限管理数据库用户和权限GRANTREVOKE控制用户对数据库资源的访问权限,确保数据和系统的安全性。

五、总结

DML、DQL 和 DCL 是 SQL 中用于操作数据库的不同分类,每类命令有着独特的功能。DML 用于对数据进行操作,如插入、更新和删除;DQL 用于查询数据库中的数据,确保数据可以有效检索;DCL 则用于控制数据库用户权限,确保数据库系统的安全性和操作的合理性。这三类命令共同构成了SQL操作数据库的核心部分,开发者应根据实际需求合理运用,以达到对数据有效管理和控制的目标。


Viewing all articles
Browse latest Browse all 3155

Latest Images

Trending Articles