数据控制语言 (DCL)

dbmsmysqldatabase

DCL(数据控制语言)的工作是处理用于允许用户访问、修改和操作数据库的 SQL 命令。它用于访问存储的数据。它根据需要授予访问权限、撤销访问权限并更改数据库所有者的权限。

  • 它有助于了解 SQL 如何使用用户权限来修改或检索数据并防止未经授权的访问。

  • 它补充了数据操作语言 (DML) 和数据定义语言 (DDL)。

  • 它是三个命令中最简单的一个

  • 它主要用于强制执行数据安全。

DCL 命令

SQL 中的 DCL 命令是 Grant 和 Revoke。

Grant 命令

它用于向特定数据库用户授予安全权限。它在大多数情况下用于限制用户插入、删除、选择、更新、执行、更改或为用户数据提供特权。

语法

GRANT privileges ON object_name TO user;
  • 权限是指 INSERT、DELETE、SELECT、UPDATE、EXECUTE、ALTER、ALL

  • object_name 是指表名。

  • user 是指我们授予权限的用户的名称。

示例

在此示例中,我们将了解授权命令如何在表上工作。

算法

  • 步骤 1 - 使用授权命令

  • 步骤 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

撤销命令

它用于撤销由 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 命令。两个主要组件是授权和撤销。授权用于向用户授予权限,而撤销用于从用户中删除权限。请注意,授权成员可以将授权传递给另一个用户,并且可以由用户随时撤销。


相关文章