2023-09-13 07:00:06

什么是DDL和DML?

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

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


当前回答

什么是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是数据定义语言:用于定义 数据库模式。 它工作在模式级别。

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;

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

DDL,数据定义语言

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

例如:

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

DML,数据操作语言

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

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

DML中使用的命令如下:

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

DDL:更改模式

DML:更改数据

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

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

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