21.revoke的用法——收回权限

revoke的用法——收回权限

格式:

revoke [权限1],[权限2]
on [对象类型] [对象名]
from [用户]

例子:
1.把用户User3修改Students的Sname 的权限收回

revoke update
on Students
from User3

2.收回所有用户对Reports表的查询权限

revoke select
on Reports
from public

3.把对用户User4对Reports表的insert权限收回

revoke insert
on Reports
from User4 cascade

之所以要加cascade是因为User4之前指定了它可以赋予其他用户他拥有的权限,加上cascade可以把User4赋给其他用户的insert权限也一起收回。
注意:系统之收回直接或间接从User4处获得的权限。

### SQL中DDL、DCL、DML和DQL的区别与定义 #### DDL (数据定义语言, Data Definition Language) DDL 是一种用于定义数据库结构的语言,主要用于创建、修改或删除数据库中的对象,如表、索引、视图等。其主要功能包括但不限于创建 (`CREATE`) 和删除 (`DROP`) 表格以及更改表格结构 (`ALTER`)[^1]。 常用的关键字包括: - `CREATE`: 创建新的数据库、表或其他数据库对象。 - `ALTER`: 修改现有数据库对象的结构。 - `DROP`: 删除现有的数据库、表或其他数据库对象。 这些命令通常由数据库管理员执行,因为它们直接影响到数据库的整体架构设计[^3]。 --- #### DML (数据操纵语言, Data Manipulation Language) DML 主要涉及对数据库中实际数据的操作,而不改变数据库本身的结构。它允许用户通过查询来检索数据或将新记录插入到数据库中,或者更新和删除已有的记录。常见的 DML 操作包括: - `SELECT`: 查询并返回满足条件的数据集。 - `INSERT`: 向指定表中添加一条或多条新记录。 - `UPDATE`: 更新已有记录的内容。 - `DELETE`: 移除不符合特定条件的记录。 值得注意的是,在某些情况下,`SELECT` 被认为属于单独的一类——即 DQL(见下一部分),尽管在许多上下文中仍将其视为广义上的 DML 的组成部分之一[^1]。 --- #### DQL (数据查询语言, Data Query Language) 虽然有时被看作是 DML 的子集,但实际上 DQL 更专注于从数据库获取信息的过程而非直接操作数据本身。最典型的例子就是使用 `SELECT` 语句构建复杂的查询逻辑以提取所需的信息片段。按照标准流程来看,这类查询遵循一定的解析次序:先确定源表(`FROM`);接着筛选符合条件的部分(`WHERE`);再按字段分组统计汇总(`GROUP BY`, `HAVING`);最后选取目标列投影显示出来(`SELECT`), 并可能附加排序选项(`ORDER BY`) 或者限制结果数量范围(`LIMIT`)[^2]. 因此可以说,凡是涉及到单纯读取而无任何写入动作的行为都可归为此范畴之内. --- #### DCL (数据控制语言, Data Control Language) 不同于前两者侧重于描述性或事务性的处理方式,DCL 则更偏向权限管理方面的工作内容.具体来说,它是用来授予/回收访问权利给不同角色用户的工具包;同时也涵盖了保障交易一致性方面的机制设定(比如提交 COMMIT 及回滚 ROLLBACK).典型指令如下: - **GRANT**: 授权某位成员可以行使某种特权. - **REVOKE**: 收回之前赋予他人的许可权项. 此外还有关于锁定资源防止冲突发生的措施安排等等. --- 总结而言: | 类型 | 英文全称 | 关键词 | 描述 | |------|-------------------------|----------------------------|----------------------------------------------------------------------| | DDL | Data Definition Language| CREATE, ALTER, DROP | 定义或修改数据库对象 | | DML | Data Manipulation Lang.| INSERT, UPDATE, DELETE | 对数据进行增删改 | | DQL | Data Query Language | SELECT | 提供了一种高效的方法来进行复杂模式匹配 | | DCL | Data Control Language | GRANT, REVOKE | 控制谁能够做什么事情 | 以上便是 MySQL 中四种基本类型的简单介绍及其相互之间的差异对比说明. ```sql -- 示例代码展示各类别应用实例 /* DDL */ CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(8,2) ); /* DML */ INSERT INTO employees VALUES (1,'Alice',7500); UPDATE employees SET salary=9000 WHERE id=1; DELETE FROM employees WHERE id=1; /* DQL */ SELECT * FROM employees ORDER BY salary DESC LIMIT 5; /* DCL */ GRANT ALL PRIVILEGES ON mydb.* TO 'user'@'localhost'; REVOKE ALL PRIVILEGES ON mydb.* FROM 'user'@'localhost'; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值