DML、DDL、DCL的分別是什么


DML、DDL、DCL的分別是什么

    一直以來,分不清這三者的簡稱代表什么,甚至在面試中遇到可能會張冠李戴。今天特意記錄一下。

 

一、DML(data manipulation language) 數據操縱語言


    就是我們經常用到的SELECT、UPDATE、INSERT、DELETE。主要用來對數據庫的數據進行的一些操作。

SELECT 列名稱 FROM 表名稱;
UPDATE 表名稱 SET 列名稱='新值' WHERE 列名稱='某值';
INSERT INTO table_name (列1,列2,...) VALUES (值1,值2,...);
DELETE FROM 表名稱 WHERE 列名稱='某值';

二、DDL


    DDL(data definition language)數據定義語言
    就是我們在創建表時用到的一些SQL語句。例如:CREATE、ALTER、DROP等。DDL主要是用在定義表
    或者改變表的結構、數據類型、表之間的鏈接和約束等初始化操作上。

CREATE TABLE 表名稱
(
列名稱1, 數據類型,
列名稱2, 數據類型,
...
);

CREATE TABLE `t2` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
  `age` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1:男性;0:女性',
  PRIMARY KEY (`id`),
  KEY `idx_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

ALTER TABLE tbl_name drop age;
ALTER TABLE tbl_name ADD age tinyint NOT NULL DEFAULT '1' COMMENT '1:男性;0:女性';
...

三、DCL


    DCL(Data Control Language)數據控制語言
    用來設置或者更改數據庫用戶角色權限等的語句,例如:grant、revoke語句。

create user 'test_r'@'%' IDENTIFIED BY 'test_rpwd';
GRANT SELECT ON `test_db`.* TO 'test_r'@'%' IDENTIFIED BY 'test_rpwd';

一般常用的是DML、DDL。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM