它们是什么?它们与SQL又有什么关系?
以下内容改编自MySQL什么是DDL、DML和DCL?:
DDL
DDL是数据定义语言的缩写,处理数据库模式和描述,即数据应如何存储在数据库中。
- CREATE - 创建数据库及其对象,如(表、索引、视图、存储过程、函数和触发器)。
- ALTER - 修改现有数据库的结构。
- DROP - 从数据库中删除对象。
- TRUNCATE - 删除表中所有记录;此外,所有记录所分配的空间也被删除。
- COMMENT - 向数据字典添加注释。
- RENAME - 重命名一个对象。
DML
DML是数据操作语言的缩写,处理数据操作,包括最常用的SQL语句,如SELECT、INSERT、UPDATE、DELETE等,用于存储、修改、检索、删除和更新数据库中的数据。
- SELECT - 从一个或多个表中检索数据。
- INSERT - 将数据插入表格中。
- UPDATE - 更新表格中的现有数据。
- DELETE - 删除表格中的所有记录。
- MERGE - UPSERT操作(插入或更新)
- CALL - 调用PL/SQL或Java子程序。
- EXPLAIN PLAN - 解释数据访问路径。
- LOCK TABLE - 并发控制。
DCL
DCL是数据控制语言的缩写,包括诸如GRANT等命令,主要涉及数据库系统的权限、授权和其他控制。
- GRANT – 允许用户访问数据库权限。
- REVOKE – 撤销使用 GRANT 命令授予用户的访问权限。
TCL
TCL 是事务控制语言(Transaction Control Language)的缩写,用于处理数据库内的事务。
- COMMIT – 提交一个事务。
- ROLLBACK – 在出现任何错误的情况下回滚事务。
- SAVEPOINT – 事务内的一个点,允许将回滚状态恢复到保存点时的状态。
- SET TRANSACTION – 指定事务的特性。
DESCRIBE
不属于这两者之一。它只返回表/数据库结构的自身表示。您可以使用例如CREATE
来实现相同的功能,但不是“人类可读的”。 - JensVDDL 是 Data Definition Language:用于定义数据库模式的规范符号。它在模式层级上进行操作。
DDL 命令包括:
create、drop、alter、rename
例如:
create table account (
account_number char(10),
balance integer);
DML 是 Data Manipulation Language 的缩写。它用于访问和操作数据。
DML 命令包括:
select,insert,delete,update,call
例如:update account set balance = 1000 where account_number = 01;
SELECT
不会修改数据。相反,TRUNCATE
会修改数据,因此它是DML指令而不是DDL指令。 - isapir用通俗易懂的说法,如果你想建房子,你会怎么做。
DDL
即数据定义语言
也就是说
CREATE
ALTER
DROP & CREATE
DML
即数据操作语言
人们进出/从你的房子中走过
SELECT
DELETE
UPDATE
TRUNCATE
DCL
即数据控制语言
你想控制人们能够访问房子的哪些部分和以何种方式进行访问。
GRANT PERMISSION
DML是数据操作语言的缩写。它用于在数据库中检索、存储、修改、删除、插入和更新数据。
例如: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/
DDL是数据定义语言:可以将其视为定义数据库的过程。因此,我们使用CREATE、ALTER和TRUNCATE命令。
DML是在定义之后操作数据的过程。因此,我们使用SELECT、INSERT、UPDATE和DELETE命令。
请记住,DDL命令会自动提交。您不需要使用COMMIT语句。
DML(数据操作语言)命令需要提交/回滚。
DDL(数据定义语言)包括创建、修改和删除数据库、表、键、索引、视图、函数和存储过程等。
DML(数据操作语言)包括向表中插入、删除、更新和截断数据等操作。
简单来说。
DDL(数据定义语言):将处理数据结构,定义数据结构。
DML(数据操作语言):将处理数据本身,操纵数据。