MySQL中的DML、DDL、DCL到底是什么呢?

極客小俊
你不用拼過聰明人,你只需要拼過那些懶人 你就一定會超越大部分人!

引言
一直以來,很多人分不清這三個東西到底是什么簡稱、代表什么、至在面試中遇到可能會張冠李戴, 今天就先跟大家分享一下這三個小知識點吧!
其實這三個概念對于天天走CURD的小伙伴應該也不陌生吧, 可以說是天天使用
DML(data manipulation language) 數據操縱語言
DML: 就是我們經常用到的select、update、insert、delete 主要用來對數據庫的數據進行的一些操作 也就是對數據的增刪改查 就被稱為 DML
例如下SQL代碼:
?SELECT 字段名 | * ?FROM 表名稱;
?UPDATE 表名稱 SET 字段名='新值' WHERE 字段名='某值';
?INSERT INTO table_name (列1,列2,...) VALUES (值1,值2,...);
?DELETE FROM 表名稱 WHERE 列名稱='某值';
DDL(data definition language)數據定義語言
DDL: 就是我們在創(chuàng)建表時用到的一些SQL語句。例如:CREATE、ALTER、DROP等。DDL主要是用在定義表 或者 改變表的物理結構、數據類型、表之間的鏈接和物理約束等初始化操作上。
例如下SQL代碼:
?#--建表
?create table 表名稱(
? 列名稱1, 數據類型,
? 列名稱2, 數據類型,
? ...
?)engine=innodb default charset=utf8mb4 collate=utf8mb4_general_ci
?#engine=innodb 設置表的引擎
?#default charset=utf8mb4 ?設置表的編碼字符集
?#collate=utf8mb4_general_ci 設置字符序
?
?#--修改表
?alter table 表名稱 drop 字段名;
?alter table 表名稱 add 字段名 數據類型 [字段約束] [字段約束];
?
?#--等等這樣的語句...
?
?
DCL(Data Control Language)數據控制語言
DCL: 用來設置或者更改數據庫用戶角色權限等的語句,例如:grant、revoke語句
?create user 'test_r'@'%' IDENTIFIED BY 'test_rpwd';
?GRANT SELECT ON `test_db`.* TO 'test_r'@'%' IDENTIFIED BY 'test_rpwd';

如果喜歡話請 點贊 ?評論 ?收藏 一鍵三連 ?
大家的支持就是我堅持下去的動力!