数据控制语言 (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 用于从用户撤销权限。请注意,授权成员可以将授权传递给其他用户,并且可以随时被用户撤销。