MySQL数据库 10.DCL操作

这篇具有很好参考价值的文章主要介绍了MySQL数据库 10.DCL操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MySQL数据库 10.DCL操作

目录

🤔 前言:

🤔DCL介绍:

🤔1.DCL管理用户:

1.查询用户:

图示:

 2.创建用户

示例1:

运行结果:​

示例2:

 运行结果:​

3.修改用户密码

示例:

运行结果:​

4.删除用户:

示例:

运行结果:​

🤔 2.DCL管理权限:

1.查询用户当前权限

 示例:

运行结果: ​

2.授予用户权限

 示例:

3.撤销权限

示例:

运行结果:​

🤔结束!


🤔 前言:

 本篇将进行讲解SQL四大语句操作的最后一个:DCL操作,它在实际生活中占据比较关键的地位,因为其起到了管理数据库用户以及控制数据库的访问权限的功能,因此我们要掌握掌握好这个语句的各种用法。

🤔DCL介绍:

DCL(Data Control Language)指的是对数据库的控制语言,主要用于数据库用户权限的控制、数据安全保护以及数据完整性的保证。

DCL语言包含三个关键字:

📖1. GRANT:用于给用户或用户组授予某些权限。

📖2. REVOKE:用于撤销用户或用户组的某些权限。

📖3. DENY:用于拒绝用户或用户组的权限。

GRANT语句用于授予用户或用户组的某些权限,例如SELECT、INSERT、UPDATE、DELETE等。REVOKE语句用于撤销授予的权限,将用户或用户组的权限还原到默认状态。DENY语句用于拒绝用户或用户组的权限,即使授予了某些权限,DENY语句也可以覆盖掉权限。

🤔1.DCL管理用户:

1.查询用户:

  • 系统中的所有数据都是存储在名字为mysql这个数据库之中的user表的,因此我们先选中数据库mysql,再展示user表就可以查询所有的用户信息。
USE mysql;
select *from user;

图示:

MySQL数据库 10.DCL操作

 2.创建用户

CREAT USER '用户名'@'主机名' IDENTIFIED BY '密码';

示例1:

创建用户itcast,只能在当前主机localhost访问,密码是123456。

create user 'itcast'@'localhost' identified by '123456';

运行结果:
MySQL数据库 10.DCL操作

 确实创建了一个名字叫做itcast的用户,我们可以尝试通过cmd登录该用户。

MySQL数据库 10.DCL操作

 登录成功:
MySQL数据库 10.DCL操作

 我们通过这个用户查询数据库有多少:
MySQL数据库 10.DCL操作

 我们可以发现通过这个用户登陆上去之后,我们的数据库展示并不完全,这是由于我们初始设置的时候并没有给这个用户分配各项权限。

示例2:

创建用户bac,可以在任意主机上访问该数据库,密码是123456。

create user 'bac'@'%' identified by '123456';

 运行结果:
MySQL数据库 10.DCL操作

 确实创建了一个用户bac,密码是123456。这里我们没法再次进行测试,因为本人只有一个主机。

3.修改用户密码

ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password by '新密码';

示例:

修改用户bac的访问密码为12345

ALTER USER 'bac'@'%' IDENTIFIED with mysql_native_password by'12345';

运行结果:
MySQL数据库 10.DCL操作

4.删除用户:

DROP USER '用户名'@'主机名';

示例:

删除bac用户

drop user 'bac'@'%';

运行结果:
MySQL数据库 10.DCL操作

🤔 2.DCL管理权限:

  • 多个权限之间,使用逗号分隔
  • 授权时,数据库名和表名可以使用*进行通配,代表所有权限。
权限 说明 权限 说明
ALL,ALL PRIVIEGES 所有权限 SELECT 查询数据
INSERT 插入数据 UPDATE 修改数据
DELETE 删除数据 ALTER 修改表
DROP 删除数据库/表/视图 CREATE 创建数据库/表

1.查询用户当前权限

SHOW GRANTS FOR '用户名'@'主机名';

 示例:

查询itcast用户当前具有的权限:

show grants for 'itcast'@'localhost';

运行结果:
 MySQL数据库 10.DCL操作

 这句话的意思是当前的itcast没有任何权限,仅仅能够登录上mysql服务器。

2.授予用户权限

GRANT 权限列表 ON 数据库名,表名 TO '用户名'@'主机名';

 示例:

我们把test数据库的所有表的所有权限都授权给itcase

grant all on test.* to 'itcast'@'localhost';

此时我们先不执行这个语句,从cmd中登录itcast用户查看能否访问到test这个数据库,可以发现此时是访问不到的,没有访问这个数据库的权限。

MySQL数据库 10.DCL操作

 我们执行这条语句之后:
MySQL数据库 10.DCL操作

 此时我们通过这个语句已经向itcast用户开放了操纵数据库tset的所有权限,我们简单的展示一下展示test中的所有表

MySQL数据库 10.DCL操作

可以成功访问。

3.撤销权限

REVOKE 权限列表 ON 数据库名,表名  FROM  '用户名'@'主机名';

示例:

撤销itcast的test数据库的所有权限

revoke all on test.* from 'itcast'@'localhost';

运行结果:
MySQL数据库 10.DCL操作

此时itcast关于test数据库的一切权限都被撤销。文章来源地址https://www.toymoban.com/news/detail-472303.html

🤔结束!

到了这里,关于MySQL数据库 10.DCL操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 银河麒麟高级服务器操作系统V10安装mysql数据库

    1.检查是否已经安装mysql 2.将查询出的包卸载掉 3.将/usr/lib64/libLLVM-7.so删除 4.检查删除结果 5.搜索残余文件 6.删除残余文件 7.验证删除 8.检查MySQL用户组以及用户是否存在,若没有则创建 9.上传安装包 将mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar安装包上传到银河麒麟系统虚拟机中

    2024年02月16日
    浏览(102)
  • MySQL数据库基础 10

    存储数据是处理数据的第一步 。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。 那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢? 在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别

    2024年02月08日
    浏览(60)
  • 【Python开发】FastAPI 10:SQL 数据库操作

    在 FastAPI 中使用 SQL 数据库可以使用多个 ORM 工具,例如 SQLAlchemy、Tortoise ORM 等,类似 Java 的 Mybatis 。这些 ORM 工具可以帮助我们方便地与关系型数据库进行交互,如 MySQL 、PostgreSQL等。本篇文章将介绍如何使用 SQLAlchemy 来完成数据库操作,以便让我们在 FastAPI 项目中方便地进

    2024年02月14日
    浏览(41)
  • MySQL的数据库操作、数据类型、表操作

    目录 一、数据库操作 (1)、显示数据库 (2)、创建数据库 (3)、删除数据库 (4)、使用数据库 二、常用数据类型 (1)、数值类型 (2)、字符串类型 (3)、日期类型 三、表操作 (1)、创建表 (2)、查看表 (3)、删除表 都要看到这了,点个赞再走吧,谢谢谢谢谢

    2024年02月06日
    浏览(78)
  • 【MySQL--->数据库操作】

    语句格式:create database [if no exists]数据库名[create_specification [,create_specification] …]; 中括号内是可选项,if no exists是指如果数据库不存在就创建,存在就不创建,相当于自动查重. create_specification 可以指定数据库的编码格式和校验规则. drop database 数据库名; alter database 数据库名 指定

    2024年02月13日
    浏览(45)
  • MySQL 数据库操作

     提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、关系模型 二、数据库的操作 创建数据库 查看数据库 选择数据库 删除数据库 三、MySQL 数据库命名规范 总结 关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的

    2023年04月08日
    浏览(57)
  • MySQL基础——数据模型·数据库操作

    ♥️ 作者:小刘在C站 ♥️ 个人主页: 小刘主页 ♥️ 每天分享云计算网络运维课堂笔记,努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️ 树高千尺,落叶归根人生不易,人间真情 目录 1.数据模型 2. SQL 2.1 SQL通用语法 2.3 DDL 2.3.1 数据库操作 1). 查

    2024年02月06日
    浏览(64)
  • 数据库之MySQL数据操作练习

    目录 练习内容 worker表要求 创建的表的表结构 表中的数据内容 对数据的操作 1.显示所有职工的基本信息 2.查询所有职工所属部门的部门号,不显示重复的部门号 3.求出所有职工的人数 4.列出最高工和最低工资 5.列出职工的平均工资和总工资 6.创建一个只有职工号、姓名和参

    2024年02月13日
    浏览(44)
  • 数据库之MySQL字符集与数据库操作

    目录 字符集 CHRARCTER SET 与COLLATION的关联 CHRARCTER SET 定义 基础操作         查看当前MySQL Server支持的 CHARACTER SET         查看特定字符集信息(主要包含默认的COLLATION 与 MAXLEN) COLLATION 定义 COLLATION后缀 基础操作         查看MySQL Server支持的COLLATION MySQL Ser

    2024年02月13日
    浏览(45)
  • MySQL数据库高级操作

    if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建 int(4) zerofill:表示若数值不满4位数,则前面用“0”填充,例0001 auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添

    2024年02月09日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包