資料控制語言 (DCL)
DCL(資料控制語言)的作用是處理用於允許使用者訪問、修改和操作資料庫的 SQL 命令。它用於訪問儲存的資料。它根據需要授予資料庫所有者訪問許可權、撤銷訪問許可權並更改許可權。
它有助於瞭解 SQL 如何使用使用者許可權來修改或檢索資料,並防止未經授權的訪問。
它補充了資料操縱語言 (DML) 和資料定義語言 (DDL)。
它是這三種命令中最簡單的。
它主要用於執行資料安全。
DCL 命令
SQL 中存在的 DCL 命令是 Grant 和 Revoke。
Grant 命令
它用於向特定的資料庫使用者授予安全許可權。在大多數情況下,它用於限制使用者訪問插入、刪除、選擇、更新、執行、更改或向用戶資料提供許可權。
語法
GRANT privileges ON object_name TO user;
Privileges 指的是 INSERT、DELETE、SELECT、UPDATE、EXECUTE、ALTER、ALL
object_name 指的是表名。
user 指的是要授予許可權的使用者名稱稱。
示例
在這個示例中,我們將瞭解 Grant 命令如何在表上工作。
演算法
步驟 1 - 使用 Grant 命令
步驟 2 - 提供許可權
步驟 3 - 提供表名和使用者名稱。
步驟 4 - 使用 select、insert 語句獲取輸出
輸入
product_details
id |
name |
age |
marks |
---|---|---|---|
1 |
monu |
23 |
90 |
2 |
somu |
21 |
98 |
3 |
sonu |
22 |
99 |
程式碼
GRANT SELECT, INSERT#operation to be performed ON product_details#table on which operation is done TO monu;#user name is monu Select * from product_details;#data selected Insert into product_deails values(4, ‘aman’,24,100);
輸出
id |
name |
age |
marks |
---|---|---|---|
1 |
monu |
23 |
90 |
2 |
somu |
21 |
98 |
3 |
sonu |
22 |
99 |
4 |
aman |
24 |
100 |
Revoke 命令
它用於撤銷由 Grand 命令授予使用者的訪問許可權。它用於刪除使用者帳戶對資料庫物件的訪問許可權。
語法
REVOKE privileges ON table_name FROM user;
privileges 指的是 Insert、Delete、Select、Update、Execute、Alter、All
object_name 指的是表名
user 指的是要刪除其許可權的使用者名稱稱
示例
在這個示例中,我們將瞭解 Revoke 命令如何在表上工作。
演算法
步驟 1 - 使用 Revoke 命令
步驟 2 - 提供許可權
步驟 3 - 提供表名和使用者名稱。
輸入
product_details
id |
name |
age |
marks |
---|---|---|---|
1 |
monu |
23 |
90 |
2 |
somu |
21 |
98 |
3 |
sonu |
22 |
99 |
程式碼
REVOKE SELECT, INSERT#operation to be performed ON product_details#table on which operation is done FROM monu;user name is monu Select * from product_details;#data selected
輸出
ERROR
結論
在本文中,我們學習了 DCL 命令,它用於訪問儲存的資料。其兩個主要組成部分是 Grant 和 Revoke。Grant 用於向用戶授予許可權,而 Revoke 用於從使用者撤銷許可權。請注意,授權成員可以將授權傳遞給其他使用者,並且可以隨時被使用者撤銷。