445

我听说过有关数据库的术语 DDL 和 DML,但我不明白它们是什么。

它们是什么以及它们与 SQL 有什么关系?

4

13 回答 13

466

SQL命令可以分为三个子组,DDL、DML和DCL

下面改编自这里MySQL 什么是 DDL、DML 和 DCL?

DDL

DDL 是数据定义语言的简称,它处理数据库模式和描述,以及数据应该如何驻留在数据库中。

  • CREATE – 创建数据库及其对象,如(表、索引、视图、存储过程、函数和触发器)。
  • ALTER – 改变现有数据库的结构。
  • DROP – 从数据库中删除对象。
  • TRUNCATE - 从表中删除所有记录;此外,为记录分配的所有空间都将被删除。
  • COMMENT – 向数据字典添加注释。
  • 重命名——重命名一个对象。

DML

DML是处理数据操作的Data Manipulation Language的简称,包括SELECT、INSERT、UPDATE、DELETE等最常见的SQL语句,用于存储、修改、检索、删除和更新数据库中的数据。

  • SELECT – 从一个或多个表中检索数据。
  • INSERT – 将数据插入表中。
  • UPDATE – 更新表中的现有数据。
  • DELETE – 删除表中的所有记录。
  • MERGE – UPSERT 操作(插入或更新)
  • CALL – 调用 PL/SQL 或 Java 子程序。
  • 解释计划——数据访问路径的解释。
  • LOCK TABLE——并发控制。

DCL

DCL是Data Control Language的简称,包括GRANT等命令,主要关注数据库系统的权限、权限等控制。

  • GRANT – 允许用户访问数据库的权限。
  • REVOKE – 撤销使用 GRANT 命令赋予的用户访问权限。

TCL

TCL 是事务控制语言的简称,它处理数据库中的事务。

  • COMMIT——提交一个事务。
  • ROLLBACK – 在发生任何错误的情况下回滚事务。
  • SAVEPOINT – 事务中的一个点,允许将状态回滚到保存点时的状态。
  • SET TRANSACTION – 指定交易的特征。
于 2017-06-28T07:46:23.930 回答
342

DDL数据定义语言:它用于定义数据结构

例如,对于 SQL,它将是诸如create table, alter table, ...之类的指令


DML数据操作语言:它用于操作数据本身

例如,对于 SQL,它将是诸如insert, update, delete, ...之类的指令

于 2010-04-05T11:56:00.647 回答
44

DDL数据定义语言:用于定义数据库模式的规范符号。它适用于架构级别。

DDL 命令是:

create,drop,alter,rename

例如:

create table account (
  account_number  char(10),
 balance integer);

DML数据操作语言。它用于访问和操作数据。

DML 命令是:

select,insert,delete,update,call

例如 :

update account set balance = 1000 where account_number = 01;
于 2017-07-31T17:13:18.470 回答
31

在此处输入图像描述

DDL,数据定义语言

  • 在数据库中创建和修改数据库对象的结构。
  • 这些数据库对象可能有表、视图、模式、索引....等

例如:

  • CREATE, ALTER, DROP, TRUNCATE,COMMIT

DML,数据操作语言

DML 语句对表有影响。这就是我们在表中执行的基本操作。

  • 基本的 crud 操作在表中执行。
  • 这些 crud 操作由SELECT, INSERT,UPDATE等执行。

在 DML 中使用以下命令:

  • INSERT, UPDATE, SELECT,DELETE
于 2016-12-31T08:38:09.967 回答
14

通俗地说,假设你要盖房子,你会做什么。

DDL即数据定义语言

  1. 从头开始构建
  2. 翻新它
  3. 销毁旧的并从头开始重新创建它

那是

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DML即数据操作语言

人们进出/进出你的房子

  1. SELECT
  2. DELETE
  3. UPDATE
  4. TRUNCATE

DCL即数据控制语言

您想控制人们允许他们进入房屋的哪一部分以及进入的类型。

  1. GRANT PERMISSION
于 2017-07-04T06:42:25.850 回答
11

DML 是Data Manipulation Language的缩写。它用于检索、存储、修改、删除、插入和更新数据库中的数据。

示例:SELECT、UPDATE、INSERT 语句


DDL 是数据定义语言的缩写。它用于创建和修改数据库中数据库对象的结构。

示例:CREATE、ALTER、DROP 语句

访问此站点以获取更多信息:http: //blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/

于 2013-11-22T01:55:23.877 回答
3

DDL = 数据定义语言,任何提供数据结构和其他信息的命令

DML = Data Manipulation Language,只有 3 个,INSERT、UPDATE、DELETE。4、如果你会算SELECT * INTO x_tbl from tblMSSQL(ANSI SQL CREATE TABLE x_tbl AS SELECT * FROM tbl:)

于 2010-04-05T12:01:43.623 回答
3

DDL 是数据定义语言:想象一下您正在定义数据库。所以我们使用 CREATE,ALTER TRUNCATE 命令。
DML 在定义我们正在操作数据之后。所以我们使用 SELECT、INSERT、UPDATE、DELETE 命令。

请记住,DDL 命令是自动提交的。您不需要使用 COMMIT 语句。
DML(数据操作语言)命令需要提交/回滚。

于 2016-06-06T13:52:04.613 回答
2

简单来说。

DDL(数据定义语言):将处理数据的结构。定义数据结构。

DML(数据操作语言):将处理数据。操纵数据本身

于 2015-09-09T11:00:28.077 回答
2

DD L:更改架构

DML:更改数据

似乎特定于 MySQL 限制(rails 的源代码

于 2017-05-05T21:48:09.803 回答
2

DDL

创建、更改、删​​除(数据库、表、键、索引、视图、函数、存储过程)

DML

插入、删除、更新、截断(表)

于 2017-07-02T11:57:38.467 回答
1

DDL代表数据定义语言。DDL 用于定义表的结构,例如创建表或向表中添加列,甚至删除和截断表。 DML代表数据操作语言。顾名思义,DML 用于操作表的数据。DML 中有一些命令,例如插入和删除。

于 2017-04-26T07:27:14.760 回答
0

对 DML 的不同回应可能对那些研究dbt的人有所帮助,dbt是一种广泛使用的用于部署数据转换的开源工具。(在此处查看更多详细信息。)

dbt 有利于“选择”语句,但不利于其他 DML 命令。参见,例如“为什么我不能在我的转换中编写 DML?”

于 2022-02-15T15:26:38.790 回答