SQL DCL语句

发布时间 2023-11-22 11:25:17作者: 背对背依靠

Data Control Language 数据控制语言。用于控制对数据的访问,主要的 DCL 操作包括 GRANT(授予用户访问和操作数据库的权限)和 REVOKE(撤销用户的数据库权限)。

几乎所有的数据库管理系统(DBMS)都支持 GRANT 和 REVOKE 命令,这些命令用于控制数据库的访问权限。GRANT 用于授予权限,而 REVOKE 用于撤销权限。不同的 DBMS,比如 MySQL、Oracle、SQL Server 等,可能会在这些命令的具体语法和用法上有所不同,但它们的基本功能和目的是相似的。所以这里以为MySQL为例:

授权 GRANT

命令格式:

GRANT
    [权限类型]     # 可以指定各种权限,如 SELECT, INSERT, UPDATE, DELETE 等。也可以使用 ALL PRIVILEGES 表示授予所有权限。
ON
    [数据库对象]  # 可以是数据库、表或者其他数据库对象。格式通常为 数据库名.表名。授予权限到所有数据库和表,可以使用 *.*。
TO
    [用户名]     # 格式通常为 '用户名'@'主机名'。

例如: 给ehigh用户授予所有权限

GRANT ALL PRIVILEGES ON *.* TO ehigh@'localhost';

移除权限 REVOKE

命令格式:

REVOKE
    [权限类型]
ON
    [数据库对象]
FROM
    [用户名];

例如: 撤销 ehigh 在 db1 数据库上的 SELECT 权限

REVOKE SELECT ON db1.* FROM 'ehigh'@'localhost';