DML,DDL,DCL的区别

DML,DDL,DCL的区别

DML、DDL、DCL是SQL语言按功能划分的三大类‌,核心区别在于操作对象、功能范围和事务特性:

一、定义与功能对比

1.DDL数据定义语言

DDL(Data Definition Language,数据定义语言)

操作对象:数据库结构(如表、索引、视图等)

主要语句:ml-search[CREATE](创建)、:ml-search[ALTER](修改)、:ml-search[DROP](删除)

特点:

1.直接修改数据库的物理结构,执行后**立即生效且不可回滚**(如删除表无法撤销)
2.常用于初始化或调整数据库架构(如新增字段、建立索引)

2.DML数据操作语言

DML(Data Manipulation Language,数据操作语言)

操作对象:表中的实际数据

主要语句:ml-search[SELECT](查询)、:ml-search[INSERT](插入)、:ml-search[UPDATE](更新)、:ml-search[DELETE](删除)

特点:

1.数据变更需通*事务提交(COMMIT)才会持久化*,否则可通过回滚(ROLLBACK)撤销。
2.日常使用频率最高,直接影响数据内容而非结构。

3.DCL数据控制语言

DCL(Data Control Language,数据控制语言)

操作对象:数据库用户权限

主要语句:ml-search[GRANT](授权)、:ml-search[REVOKE](撤销权限)

特点

权限变立即生效,无需事务提交
属于数据库安全管理范畴(如限制用户访问表或执行DML操作)

二、典型场景示例

DDL:创建员工表 CREATE TABLE employee (id INT, name VARCHAR(20)) DML:更新工资 UPDATE employee SET salary=8000 WHERE id=101(需提交事务生效)2 DCL:授权用户查询权限 GRANT SELECT ON employee TO user1

总结:三者分别对应数据库的结构定义、数据操作和权限控制,实际开发中常结合使用(如先通过DDL建表,再用DML插入数据,最后通过DCL分配权限)

三、补充说明DQL

DQL(Data Query Language,数据查询语言)不是一个广泛使用的术语。在数据库领域,通常我们谈论的是用于查询数据库中数据的几种语言。这些语言包括SQL(Structured Query Language,结构化查询语言)以及其他特定数据库管理系统(DBMS)可能提供的特定查询语言。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注