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