数据控制语言 (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+ 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告