数据库管理系统 数据控制语言(DCL)
数据控制语言(DCL)的工作是处理用于允许用户访问、修改和操作数据库的SQL命令。它用于访问存储的数据。根据需要,它可以赋予数据库所有者访问权限、撤销访问权限并更改权限。
- 它有助于使用用户权限修改或检索数据,并保护 against 未经授权访问。
-
它补充了数据操作语言(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 |
REVOKE命令
这个命令用于撤销授权命令对用户的访问权限。它用于取消用户账户对数据库对象的访问特权。
语法
REVOKE privileges ON table_name FROM user;
- 权限是指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用于从用户身上去除权限。请注意,授权成员可以将授权传递给另一个用户,并且可以随时被用户撤销。