首页 > 其他分享 >数据控制语言(DCL,Data Control Language)

数据控制语言(DCL,Data Control Language)

时间:2024-09-18 10:24:22浏览次数:12  
标签:Control DCL Language GRANT -- employees 用户 权限 SELECT

目录

GRANT 语句

REVOKE 语句

权限类型


数据控制语言(DCL,Data Control Language)用于管理数据库中的权限和访问控制。DCL 语句主要用于控制用户对数据库对象的访问权限。常见的 DCL 语句有 GRANTREVOKE

GRANT 语句

GRANT 语句用于授予用户或角色对数据库对象(如表、视图、存储过程等)的权限。这些权限可以是对数据的读取、写入、修改或删除等操作的权限。

GRANT 权限类型 ON 对象 TO 用户 [WITH GRANT OPTION];
  • 权限类型:指定要授予的权限,例如 SELECTINSERTUPDATEDELETEALL 等。
  • 对象:指定权限应用的数据库对象,如表、视图、存储过程等。可以使用通配符 * 表示所有对象。具体为 库名.表名  而 *.* 则表示所有库和表
  • 用户:指定授予权限的用户或角色。用户通常以 'username'@'host' 的形式指定,其中 host 是用户登录的主机名。
  • WITH GRANT OPTION:可选。如果指定了此选项,用户可以将自己获得的权限授予其他用户。

示例:

-- 授予 SELECT 权限
-- 这条语句授予用户 john 对 employees 表的 SELECT 权限。
GRANT SELECT ON employees TO 'john'@'localhost';

-- 授予 SELECT 和 INSERT 权限
-- 这条语句授予用户 alice 对 employees 表的 SELECT 和 INSERT 权限。
GRANT SELECT, INSERT ON employees TO 'alice'@'localhost';

-- 授予所有权限
-- 这条语句授予用户 admin 对 employees 表的所有权限。
GRANT ALL PRIVILEGES ON employees TO 'admin'@'localhost';

-- 使用角色
-- 授予角色
-- 这条语句授予角色 role_name 对数据库 database_name 中所有表的 SELECT 和 INSERT 权限。
GRANT SELECT, INSERT ON database_name.* TO 'role_name';

-- 将角色赋给用户
-- 这条语句将角色 role_name 赋给用户 john。
GRANT 'role_name' TO 'john'@'localhost';

-- 使用 WITH GRANT OPTION
-- 授予权限并允许转授
-- 这条语句授予用户 jane 对 employees 表的 SELECT 权限,并允许她将该权限授予其他用户。
GRANT SELECT ON employees TO 'jane'@'localhost' WITH GRANT OPTION;

REVOKE 语句

REVOKE 语句用于撤销之前通过 GRANT 语句授予的权限。这可以用于限制用户或角色的访问权限。

REVOKE 权限类型 ON 对象 FROM 用户;
  • 权限类型:指定要撤销的权限类型,例如 SELECTINSERTUPDATEDELETE 等。
  • 对象:指定权限应用的数据库对象,如表、视图、存储过程等。可以使用通配符 * 表示所有对象。具体为 库名.表名  而 *.* 则表示所有库和表
  • 用户:指定授予权限的用户或角色。用户通常以 'username'@'host' 的形式指定,其中 host 是用户登录的主机名。

示例:

-- 撤销特定权限
-- 撤销用户 john 对 employees 表的 SELECT 权限。
REVOKE SELECT ON employees FROM 'john'@'localhost';

-- 撤销用户 alice 对 employees 表的 SELECT 和 INSERT 权限。
REVOKE SELECT, INSERT ON employees FROM 'alice'@'localhost';

-- 撤销用户 admin 对 employees 表的所有权限。
REVOKE ALL PRIVILEGES ON employees FROM 'admin'@'localhost';

-- 撤销角色
-- 撤销角色 role_name 对数据库 database_name 中所有表的 SELECT 和 INSERT 权限。
REVOKE SELECT, INSERT ON database_name.* FROM 'role_name';

-- 撤销用户 john 的角色 role_name。
REVOKE 'role_name' FROM 'john'@'localhost';

权限类型

在 MySQL 中,常见的权限类型包括:

  • SELECT:读取数据。
  • INSERT:插入数据。
  • UPDATE:更新数据。
  • DELETE:删除数据。
  • CREATE:创建数据库对象(如表、视图)。
  • DROP:删除数据库对象。
  • ALTER:修改数据库对象(如表结构)。
  • INDEX:创建和删除索引。
  • REFERENCES:创建外键约束。
  • ALL PRIVILEGES:授予所有权限。

标签:Control,DCL,Language,GRANT,--,employees,用户,权限,SELECT
From: https://blog.csdn.net/Lzcsfg/article/details/141431565

相关文章

  • (论文解读)Visual-Language Prompt Tuning with Knowledge-guided Context Optimization
    Comment:acceptedbyCVPR2023基于知识引导上下文优化的视觉语言提示学习摘要提示调优是利用任务相关的可学习标记将预训练的视觉语言模型(VLM)适应下游任务的有效方法。基于CoOp的代表性的工作将可学习的文本token与类别token相结合,来获得特定的文本知识。然而,这些特定的文......
  • AnomalyLLM: Few-shot Anomaly Edge Detection for Dynamic Graphs using Large Langu
    本文是LLM系列文章,针对《AnomalyLLM:Few-shotAnomalyEdgeDetectionforDynamicGraphsusingLargeLanguageModels》的翻译。AnomalyLLM:使用大型语言模型对动态图进行少量异常边缘检测摘要1引言2相关工作3前言4方法5实验6结论摘要检测动态图的......
  • ANAH: Analytical Annotation of Hallucinations in Large Language Models
    本文是LLM系列文章,针对《ANAH:AnalyticalAnnotationofHallucinationsinLargeLanguageModels》的翻译。ANAH:大型语言模型中幻觉的分析注释摘要1引言2数据集构造3幻觉注释器4实验5相关工作6结论和未来工作7局限性摘要减少大型语言模型(LLM)的......
  • 【Unity精品源码】Ultimate Character Controller:高级角色控制器完整解决方案
    ......
  • 【MySQL】基础部分——DDL,DML,DQL,DCL,函数,约数,多表查询,事务
    个人学习记录,供以后回顾和复习ubuntu下安装使用1.DDL,DML,DQL,DCLDDL数据库表DML增改删DQL条件查询分组查询排序查询分页查询DCL管理用户权限控制2.函数字符串函数数值函数日期函数流程函数3.约束4.多表查询多表关系内连接外连接自连接联合查询union子查询标量子查询......
  • 大模型书籍推荐:从头开始构建一个大型语言模型(含PDF免费)《Build a Large Language Mode
    通过从头开始构建一个大型语言模型,了解如何创建、训练和调整大型语言模型(LLMs)!一、构建大型语言模型(从头开始)在《构建大型语言模型(从头开始)》中,你将了解如何LLMs从内到外工作。在这本富有洞察力的书中,畅销书作家塞巴斯蒂安·拉施卡(SebastianRaschka)将指导你逐步创建......
  • WordCloud.top - 在线终极词云创建!
    WordCloud是您轻松制作令人着迷的文字云的终极工具。它非常适合营销人员、教育工作者、数据爱好者和创意专业人士,为您的视觉叙事需求提供无与伦比的多功能性和创造力!官网https://wordcloud.top/在线编辑器https://studio.wordcloudmaster.com/说明在哪里使用WordCloud?•营销活动:......
  • LIN476H5 F 2024 Language Universals
    LIN476H5F2024LanguageDiversityandLanguageUniversalsHomeworkAssignment1Due:Fr09/20,by11:59pSubmit yourhomework onQuercus. Neat typing is required.To type IPA symbols, consider one of the following tools:- Online IPAkeyboar......
  • 注册表 ControlSet001、ControlSet002以及CurrentControlSet 详解
    注册表HKLM\system注意注册表项包含windows启动的三个控件组(额外还可能存在一个备份控件组)。在初始状态下。它们各自是ControlSet001、ControlSet002以及CurrentControlSet。这些控件组中包括了操作系统配置的信息,比方服务、驱动、系统控制、枚举信息等等。默认情况下,ControlSet......
  • 【开源dcluster】一站式数据服务分析平台IDEA本地开发指南
    源码Gitee地址:https://gitee.com/zhenglv123456/dcluster在线文档:http://47.121.127.33:8090/在线体验:http://36.155.14.171:12345/dolphinscheduler/ui/login账号密码:test/test123  源码启动1.前端启动 进入dolphinscheduler-ui目录,执行以下命令 npmins......