資料控制語言 (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 用於從使用者撤銷許可權。請注意,授權成員可以將授權傳遞給其他使用者,並且可以隨時被使用者撤銷。

更新於: 2023 年 8 月 22 日

1K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告