什麼是DCL?
要是說到什麼是DCL這個問題,我們首先要明白一個概念,那就是SQL語句的分類
SQL語句的分類
名字 | 類型 | 作用的對象 | 作用 |
DDL 英文全稱 (Data Definition Language) | 數據定義語言 | 庫、表、列 | 創建、刪除、修改、庫或表結構,對數據庫或表的結構操作 |
DML 英文全稱(Data Manipulation Language) | 數據操作語言 | 數據庫記錄(數據) | 增、刪、改,對錶記錄進行更新(增、刪、改) |
DQL 英文全稱(Data Query Language) | 數據查詢語言 | 數據庫記錄(數據) | 查、用來查詢數據,對錶記錄的查詢 |
DCL 英文全稱(Data Control Language) | 數據控制語言 | 數據庫用戶 | 用來定義訪問的權限和安全級別,對用戶的創建,及授權 |
DCL的具體內容
1:創建用戶
創建用戶SQL語句 | 注意說明 |
create user 用戶名@IP地址 identified by '密碼'; | 用戶只能在指定的IP地址上登錄 |
create user 用戶名@'%' identified by '密碼'; | 用戶可以在任意IP地址上登錄 |
SQL語句 | 注意說明 |
grant 權限1,權限2,... on 數據庫.* to 用戶名@IP地址 | 給用戶分派在指定的數據庫的指定的權限 |
grant all on 數據庫.* to 用戶名@ | 給用戶分派在指定數據庫的所有的權限 |
3:撤銷授權
撤銷授權
SQL語句 | 注意說明 |
revoke 權限1,...,權限n on 數據庫.* from 用戶名@IP地址 | 撤銷指定用戶在指定數據上的指定權限 |
4:查看權限
SQL語句 | 注意說明 |
show grants for 用戶名@IP地址 | 查看指定用戶的權限 |
5:刪除用戶
刪除用戶
SQL語句 | 注意說明 |
drop user 用戶名@IP地址 | 刪除用戶 |