SQL语句详解五-DCL(数据控制语言)

文章目录

    • DCL
      • 管理用户
        • 示例代码
      • 权限管理
        • 示例代码
        • 用户权限

DCL

  • 概述:DCL,数据库控制语言,用来管理用户和给用户授予权限的

管理用户

  1. 添加用户

    CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
    
  2. 删除用户

    DROP USER '用户名'@'主机名';
    
  3. 修改用户密码

    SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
    
  4. 查询用户

    • 首先切换到 MySQL 数据库
    USE mysql;
    
    • 查询 user 表
    SELECT * FROM USER;
    
  5. 通配符

    • % 表示可以在任意主机使用用户登录数据库
示例代码
-- 添加用户 lisi , 密码 lisi
CREATE USER 'lisi'@'localhost' IDENTIFIED BY 'lisi';-- 查询用户
USE mysql;		-- 首先切换到 mysql 数据库
SELECT * FROM USER;	-- 查询当前数据库用户表,可看到 lisi 创建成功-- 修改用户密码,在修改前,可通过命令框形式用 lisi 用户登录MySQL
SET PASSWORD FOR 'lisi'@'localhost' = PASSWORD('123');-- 删除 lisi 用户
DROP USER 'lisi'@'localhost';-- 查询用户
USE mysql;		-- 首先切换到 mysql 数据库
SELECT * FROM USER;	-- 查询当前数据库用户表,可看到 lisi 删除成功-- 添加用户 heng ,密码 heng 在所有主机使用
CREATE USER 'heng'@'%' IDENTIFIED BY 'heng';

权限管理

  1. 查询权限

    -- 显示此主机此用户的权限
    SHOW GRANTS FOR '用户名'@'主机名';
    
  2. 授予权限

    -- 授予权限
    GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
    
  3. 撤销权限

    -- 撤销权限
    REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
    
示例代码
-- 显示 root 用户权限
SHOW GRANTS FOR 'root'@'localhost';-- 显示 lisi 用户权限
SHOW GRANTS FOR 'lisi'@'localhost';-- 显示 heng 用户权限
SHOW GRANTS FOR 'heng'@'%';-- 授予 lisi 更新权限
GRANT UPDATE ON *.* TO 'lisi'@'localhost';SHOW GRANTS FOR 'lisi'@'localhost';-- 授予 heng 所有权限
GRANT ALL ON *.* TO 'heng'@'%';SHOW GRANTS FOR 'heng'@'%';-- 撤销 heng 用户所有权限
REVOKE ALL ON *.* FROM 'heng'@'%';SHOW GRANTS FOR 'heng'@'%';-- 撤销 lisi 用户更新权限
REVOKE UPDATE ON *.* FROM 'lisi'@'localhost';
SHOW GRANTS FOR 'lisi'@'localhost';-- 删除 lisi heng 用户
DROP USER 'lisi'@'localhost';
DROP USER 'heng'@'%';SELECT * FROM USER;

这里 *.* 代表,所有数据库的所有数据表

用户权限
权限关键字权限的作用
SELECT允许用户查询数据库中的数据
INSERT允许用户向数据库中插入新的数据
UPDATE允许用户修改数据库中现有的数据
DELETE允许用户从数据库中删除数据
CREATE允许用户创建新的数据库、表、索引等对象
DROP允许用户删除数据库、表、索引等对象
GRANT OPTION允许用户将自己拥有的权限授予其他用户
REFERENCES允许用户在表中创建外键约束
INDEX允许用户创建索引
ALTER允许用户修改表的结构
CREATE TEMPORARY TABLES允许用户创建临时表
LOCK TABLES允许用户锁定表
EXECUTE允许用户执行存储过程
CREATE VIEW允许用户创建视图
SHOW VIEW允许用户查看视图的定义
CREATE ROUTINE允许用户创建存储过程和函数
ALTER ROUTINE允许用户修改存储过程和函数
EVENT允许用户创建、修改、删除事件
TRIGGER允许用户创建触发器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/627596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全狗连续3年获得中国网络空间安全协会感谢

在2024年的新年伊始,安全狗依托在2023年期间协助中国网络空间安全协会完成《网络安全态势感知研判分析报告》并支持相关网络安全态势研判工作而获得感谢信。 厦门服云信息科技有限公司(品牌名:安全狗)创办于2013年,是…

3d模型为什么打光只显示黑色---模大狮模型网

3D建模是现代制作动画、电影、游戏等数字媒体内容的重要工具。在建模过程中,打光是一个重要的环节,它可以让3D模型更加真实、有趣和生动。然而,如果打光不当,3D模型可能会呈现出黑色的效果,这可能会让人感到困惑和沮丧…

mybatisplus多租户执行复杂sql(如带case when之类的语句)报错问题

mybatisplus在多租户情况下,执行复杂sql时,会报:Failed to process,Error SQL:select ...,之前版本是加SqlParser注解关闭租户验证,新版本替换为:InterceptorIgnore(tenantLine "1")

vue批量下载图片打包为压缩包

yarn add jszip yarn add file-saver<template><div class"home"><button click"attachDownload">批量下载</button><div class"home_wrap"><div class"home_wrap_item" v-for"item in imageLi…

模拟瑞幸小程序购物车

是根据渡一袁老师的大师课写的&#xff0c;如有什么地方存在问题&#xff0c;还请大家指出来哟ど⁰̷̴͈꒨⁰̷̴͈う♡&#xff5e; index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-e…

浅谈智慧路灯安全智能供电方案设计

摘要: 智慧路灯&#xff0c;作为智慧城市、新基建、城市更新的主要组成部分&#xff0c;近些年在各大城市已得到很好的落地和 应用&#xff0c;但其与传统路灯相比集成大量异元异构电子设备&#xff0c;这些设备的供电电压、接口形式、权属单位各不相同&#xff0c; 如何设计一…

josef约瑟 漏电继电器 LLJ-400F Φ100 分体式结构,导轨安装

LLJ-400F AC660V漏电继电器是一种检测线路触&#xff08;漏&#xff09;电&#xff0c;并发出一个机械开闭信号至控制电路装置。它可与各种规格的低压断路器或交流接触器组成组合式剩余电流动作保护器。在如今已实现了较为完善的农村低压电网分级&#xff08;二级或三级&#x…

软件版本号的划分方式

软件版本号的划分方式可以因不同的开发流程、规范和团队而有所不同。通常&#xff0c;软件版本号由多个部分组成&#xff0c;如"主版本号.次版本号.修订号"&#xff0c;有时还可能包含预发布版本号&#xff08;如alpha、beta或rc&#xff09;。 以下是一种常见的版本…

Apache Solr <= 8.8.1任意文件读取漏洞复现CVE-2019-17558

一、环境准备 搭建环境vulhub&#xff0c;需要提前安装docker环境 docker安装&#xff1a;docker--安装docker-ce-CSDN博客 vulhub地址&#xff1a;https://github.com/vulhub/vulhub #创建靶场环境 mkdir /opt/vulhub cd /opt/vulhub git https://github.com/vulhub/vulhu…

elementPlus下拉框实现自定义模糊查询且100%匹配的优先展示

效果&#xff1a; 我们可以看到&#xff0c;本来创建时间在创建人之上&#xff0c;但经过我们搜索创建并进行匹配度排序后&#xff0c;创建人的匹配度更高&#xff0c;因此搜索之后&#xff0c;创建人就会显示在创建时间之上。 当然如果100%匹配的同样会优先展示在最上面。 第…

11.1 pcl_ros的点云学习

本文是看了两个博主的内容&#xff0c;整理在这里是为了以后用时方便查找&#xff0c;更容易理解。引用的博文路径如下&#xff1a; ROS入门——PCL激光雷达点云处理&#xff08;1&#xff09;_pcl::torosmsg-CSDN博客 以下功能的实现是我在ubuntu20.04的环境下&#xff0c;搭…

如何制作一本电子版时尚杂志

​随着数字媒体的崛起&#xff0c;电子版时尚杂志已成为一种新的时尚风向标。然而&#xff0c;如何制作一本独具特色的电子版时尚杂志&#xff0c;却让许多初涉此领域的品牌和设计师感到困惑。教你一些方法&#xff0c;制作一本电子版时尚杂志。 一、明确目标与定位 首先&…

C语言调试大作战:与VS编译器共舞,上演一场“捉虫记”的艺术与科学

少年们好&#xff0c;我是博主那一脸阳光&#xff0c;我们接下来介绍C语言的调试和bug的分享。 引言&#xff1a; “如果你曾经在深夜与一串神秘莫测的C代码狭路相逢&#xff0c;彼此瞪大眼睛&#xff0c;犹如牛仔对决般紧张刺激&#xff1b;或者你曾试图驯服一段狂野不羁的循环…

【小黑嵌入式系统第十五课】μC/OS-III程序设计基础(四)——消息队列(工作方式数据通信生产者消费者模型)、动态内存管理、定时器管理

上一课&#xff1a; 【小黑嵌入式系统第十四课】μC/OS-III程序设计基础&#xff08;三&#xff09;——信号量&#xff08;任务同步&资源同步&#xff09;、事件标记组&#xff08;与&或&多个任务&#xff09; 前些天发现了一个巨牛的人工智能学习网站&#xff0c…

Blazor 根据路由判断哪些页面需要加模板,哪些不需要

比如我们的登录的页面是不需要加通用模板的&#xff0c;通过if 控制 RouteView的DefaultLayout即可 <BootstrapBlazorRoot><Router AppAssembly"typeof(App).Assembly"><Found Context"routeData"><PageTitle>Title</PageTitl…

【备战蓝桥杯】如何使用Python 内置模块datetime去计算我与CSDN相遇的天数

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-6gfBeOb6YRf7C52d {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

倒计时1天|解锁「PolarDB开发者大会」正确打开方式

1月17日 9:30-16:30 北京嘉瑞文化中心 PolarDB开发者大会 明天就要和大家就见面啦&#xff5e; 大会参会指南现已出炉 各位开发者们&#xff0c;请查收~ &#x1f447;&#x1f447;&#x1f447; 点击 大会主页 or 扫描上方二维码 一键抵达大会官网&#x1f447; 查看…

Java方法及方法重载的详解

目录 一、方法的概念及使用 1.1 方法的概念 1.2 方法的定义 1.3 方法调用的执行过程 1.4 实参和形参的关系 1.5 没有返回值的方法 二、方法的重载 2.1 方法重载存在的原因 2.2 方法重载的概念 一、方法的概念及使用 1.1 方法的概念 方法就是一个代码片段. 类似于 C …

服务优雅停机SpringBoot

什么是优雅停机 ​ 优雅停机指的是Java项目在停机时需要做好断后工作。如果直接使用kill -9 方式暴力的将项目停掉&#xff0c;可能会导致正常处理的请求、定时任务、RMI、注销注册中心等出现数据不一致问题。 ​ 如何解决优雅停机呢&#xff1f;大致需要解决如下问题&#xf…

【Linux】 RPM 命令参数使用

rpm 执行安装包二进制包&#xff08;Binary&#xff09;以及源代码包&#xff08;Source&#xff09;两种。二进制包可以直接安装在计算机中&#xff0c;而源代码包将会由 RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。 常用命令组合&#xff1a; &#xff0d;ivh&a…