2023-09-13 07:00:06

什么是DDL和DML?

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

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


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

例如,使用SQL,它将是诸如create table, alter table,…

DML是数据操作语言:它被用来操作数据本身。

例如,使用SQL,它将是诸如插入、更新、删除……


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

DML =数据操作语言,只有3个,插入,更新,删除。4,如果你将SELECT * INTO x_tbl from tbl的MSSQL (ANSI SQL:创建表x_tbl AS SELECT * from tbl)


DML是数据操作语言(Data Manipulation Language)的缩写。用于检索、存储、修改、删除、插入和更新数据库中的数据。 示例:SELECT, UPDATE, INSERT语句 DDL是数据定义语言(Data Definition Language)的缩写。用于创建和修改数据库中数据库对象的结构。 示例:CREATE, ALTER, DROP语句

更多信息请访问该网站:http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/


简单地说。

DDL(数据定义语言):将工作在数据结构上。定义数据结构。

DML(数据操作语言):将工作在数据上。操作数据本身


DDL是数据定义语言:就当您在定义数据库。 所以我们使用CREATE,ALTER TRUNCATE命令。 DML是在定义我们正在操纵数据之后。所以我们使用SELECT,INSERT, UPDATE, DELETE命令。

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


DDL,数据定义语言

创建和修改数据库中数据库对象的结构。 这些数据库对象可能有Table、view、schema、索引....等

例如:

创建,修改,删除,截断,提交等。

DML,数据操作语言

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

基本的粗操作在表中进行。 这些粗操作由SELECT、INSERT、UPDATE等执行。

DML中使用的命令如下:

插入,更新,选择,删除等。


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


DDL:更改模式

DML:更改数据

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


什么是DDL, DML和DCL?:

DDL DDL is short name of Data Definition Language, which deals with database schemas and descriptions, of how the data should reside in the database. CREATE – to create database and its objects like (table, index, views, store procedure, function and triggers). ALTER – alters the structure of the existing database. DROP – delete objects from the database. TRUNCATE – remove all records from a table; also, all spaces allocated for the records are removed. COMMENT – add comments to the data dictionary. RENAME – rename an object. DML DML is short name of Data Manipulation Language which deals with data manipulation, and includes most common SQL statements such SELECT, INSERT, UPDATE, DELETE etc, and it is used to store, modify, retrieve, delete and update data in database. SELECT – retrieve data from one or more tables. INSERT – insert data into a table. UPDATE – updates existing data within a table. DELETE – delete all records from a table. MERGE – UPSERT operation (insert or update) CALL – call a PL/SQL or Java subprogram. EXPLAIN PLAN – interpretation of the data access path. LOCK TABLE – concurrency control. DCL DCL is short name of Data Control Language which includes commands such as GRANT, and mostly concerned with rights, permissions and other controls of the database system. GRANT – allow users access privileges to database. REVOKE – withdraw users access privileges given by using the GRANT command. TCL TCL is short name of Transaction Control Language which deals with transaction within a database. COMMIT – commits a transaction. ROLLBACK – rollback a transaction in case of any error occurs. SAVEPOINT – a point inside a transaction that allows rollback state to what it was at the time of the savepoint. SET TRANSACTION – specify characteristics for the transaction.


DDL

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

DML

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


通俗地说,假设你想盖一所房子,你会怎么做?

DDL即数据定义语言

从头开始构建 Rennovate它 销毁旧的,重新创建

这是

创建 改变 删除和创建

DML即数据操作语言

人们进出你的房子

选择 删除 更新 截断

DCL即数据控制语言

你想要控制人们他们可以进入房子的哪一部分以及进入的方式。

授予许可


DDL是数据定义语言:用于定义 数据库模式。 它工作在模式级别。

DDL命令有:

创建、删除、修改、重命名

例如:

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;

对DML的不同响应可能有助于研究dbt, dbt是一种广泛使用的用于部署数据转换的开源工具。(详情请点击这里。)

dbt方便“选择”语句,但不方便其他DML命令。看,如。“为什么我不能在转换中直接写DML ?”