🗒️Day80【概念解析】 DML,DDL,DCL
00 分钟
2023-12-10
2023-12-11
type
status
date
slug
summary
tags
category
icon
password

整理定义

SQL中的三种语言,DML,DDL,DCL。
DML(Data manipulation language) 数据操作语言,包含 INSERT UPDATE DELETE SELECT 的SQL语句,统称为DML。
DDL(Data definition language) 数据定义语言,包含 CREATE ALTER DROP TRUNCATE 的SQL语句,是用于管理数据库本身而不是单独的表行的SQL语句。
DCL(Data control language) 数据控制语言,包含 GRANTREVOKE,是管理权限的SQL语句
DML(Data manipulation language)
Data manipulation language, a set of SQL statements for performing INSERTUPDATE, and DELETE operations. The SELECT statement is sometimes considered as a DML statement, because the SELECT ... FOR UPDATE form is subject to the same considerations for locking as INSERTUPDATE, and DELETE.
DML statements for an InnoDB table operate in the context of a transaction, so their effects can be committed or rolled back as a single unit.
DDL(Data definition language)
Data definition language, a set of SQL statements for manipulating the database itself rather than individual table rows. Includes all forms of the CREATEALTER, and DROP statements. Also includes the TRUNCATE statement, because it works differently than a DELETE FROM table_name statement, even though the ultimate effect is similar.
DDL statements automatically commit the current transaction; they cannot be rolled back.
DCL(Data control language) Data control language, a set of SQL statements for managing privileges. In MySQL, consists of the GRANT and REVOKE statements. Contrast with DDL and DML.

复述展开

下面是一个简单的表格,概述了DML、DDL和DCL的定义、区别、使用方式以及示例:
类别
定义
区别
使用方式
示例
DML (Data Manipulation Language)
用于添加、删除、更新和查询数据库记录的语言。
直接与数据记录进行交互,不会改变表结构。
通常在常规数据库操作中使用,如插入、更新、删除和查询数据。
INSERT INTO table_name (column1, column2) VALUES (value1, value2); UPDATE table_name SET column1 = value1 WHERE condition; DELETE FROM table_name WHERE condition; SELECT * FROM table_name;
DDL (Data Definition Language)
用于定义和修改数据库结构的语言。
改变表结构,如创建或删除表和索引。
在数据库设计和建模阶段使用,或者在需要修改表结构时使用。
CREATE TABLE table_name (column1 datatype, column2 datatype); ALTER TABLE table_name ADD column_name datatype; DROP TABLE table_name; CREATE INDEX index_name ON table_name (column_name);
DCL (Data Control Language)
用于控制数据库中的数据访问权限的语言。
与数据的安全性、访问权限和控制相关。
在需要管理用户权限和控制对数据库对象访问时使用。
GRANT SELECT ON database.table TO 'user'@'host'; REVOKE SELECT ON database.table FROM 'user'@'host';

理解体会

理解这三者的定义以及区别,能够更快地了解不同SQL语句的差异,方便后续对于SQL的操作。
📌
快速跳转链接
【概念解析】启动
【概念解析】Day 1 - 10
【概念解析】Day 11 - 20
【概念解析】Day 21 - 30
【概念解析】Day 31 - 40
【概念解析】Day 41 - 50
【概念解析】Day 51 - 60
【概念解析】Day 61 - 70
【概念解析】Day 71 - 80
【概念解析】Day 81 - 90
 
上一篇
Day81【概念解析】Autocommit, Commit, and Rollback
下一篇
Day79【概念解析】Next-key Lock

评论
Loading...