数据库管理系统 数据控制语言(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用于从用户身上去除权限。请注意,授权成员可以将授权传递给另一个用户,并且可以随时被用户撤销。
 极客笔记
极客笔记