【建议收藏】数据库 SQL 入门——用户操作(内附演示)
创始人
2025-06-01 12:32:33
0

📚引言

在上一节中,我们讨论了DQL的使用方法,本节我们继续开始DCL的学习。

首先回归一下DCL的基于定义:

DCL(Data Conrtol Language) :数据控制语言,用来创建数据库用户,控制数据库的访问权限

在本节中我们主要讨论DCL的用法以及基本语法,话不多说,我们开始吧。

📖DCL语句

📃DCL-管理用户

🔖查询用户

当我们想要查询所有的用户时,可以使用下面的操作:

USE mysql;
SELECT * FROM user;

在这里我们利用可视化软件打开数据库表查看用户信息,如下:
在这里插入图片描述
可以看到,mysql中内置了四个用户,而我们最常用的是最后一个root用户。

🔖创建用户

当我们想要创建一个新的用户时,可以使用下面的操作:

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

假设我们要创建,名为ITCAST的用户,密码为123456,则可以使用下面的操作:
在这里插入图片描述
当我们重新通过可视化界面查看的时候,可以看到已经多出了一个新的用户ITCAST:
在这里插入图片描述
但当我们使用该用户访问数据库的时候,我们发现其并不能查询到其他数据库,因为其并没有任何权限。
在这里插入图片描述

另外,如果我们想要该用户可以在其它计算机上能够访问数据库,那么可以在SQL语句中主机名的部分替换成%。

🔖修改用户密码

当我们想要修改一个用户的密码时,可以使用下面的操作:

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

在本节中不再演示该操作。

🔖删除用户

当我们想要删除一个用户时,可以使用下面的操作:

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

例如,我们希望把我们刚才创建的用户删除,可以使用如下的操作:
在这里插入图片描述
此时我们查看刚才的用户表格,可以发现创建的用户已经被我们删除。
在这里插入图片描述

📃DCL-权限控制

🔖权限的种类

MYSQL中定义了很多种权限,但是常用的就以下几种:

权限说明
ALL, ALL PRIVILEGES所有权限
SELECT查询数据
INSERT插入数据
UPDATE修改数据
DELETE删除数据
ALTER修改表
DROP删除数据库/表/视图
CREATE创建数据库/表

🔖查询权限

当我们想要查询一个用户的权限时,可以使用下面的语句:

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

为了演示该语法,我们新创建了用户shengyu,然后执行上述语句:
在这里插入图片描述
可以看到我们刚刚创建的用户所展示的内容表示,只允许登录进入数据库。

🔖授予权限

当我们想要查询一个用户的权限时,可以使用下面的语句:

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

例如我们想要为上述新建的用户授予全部的权限,可以执行上面的语句如下:
在这里插入图片描述
在这里,我们重新查询该用户的权限时,可以发现用户的权限多了一个bookproject的所有表。

🔖撤销权限

当我们想要查询一个用户的权限时,可以使用下面的语句:

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

例如,我们将上述的用户的权限重新撤销,可以使用下面的操作:

在这里插入图片描述
在这里,我们重新查询该用户的权限时,刚才所授予的表的权限已经被撤销了。

注意:

  • 多个权限之间,使用逗号分隔。
  • 授权时,数据库名和表名可以使用通配符*进行通配,表示所有。

📕总结

本次列举了SQL中DCL的相关语句,在实际学习的过程中还需要多学习以及使用才能熟练掌握。

余下的SQL内容我也将持续更新,如果感兴趣的话不妨订阅本专栏或者点个关注,我们下次再见。

请添加图片描述

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
JAVA多线程知识整理 Java多线程基础 线程的创建和启动 继承Thread类来创建并启动 自定义Thread类的子类&#...
【洛谷 P1090】[NOIP... [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G ...
国民技术LPUART介绍 低功耗通用异步接收器(LPUART) 简介 低功耗通用异步收发器...
城乡供水一体化平台-助力乡村振... 城乡供水一体化管理系统建设方案 城乡供水一体化管理系统是运用云计算、大数据等信息化手段࿰...
程序的循环结构和random库...   第三个参数就是步长     引入文件时记得指明字符格式,否则读入不了 ...
中国版ChatGPT在哪些方面... 目录 一、中国巨大的市场需求 二、中国企业加速创新 三、中国的人工智能发展 四、企业愿景的推进 五、...
报名开启 | 共赴一场 Flu... 2023 年 1 月 25 日,Flutter Forward 大会在肯尼亚首都内罗毕...
汇编00-MASM 和 Vis... Qt源码解析 索引 汇编逆向--- MASM 和 Visual Studio入门 前提知识ÿ...
【简陋Web应用3】实现人脸比... 文章目录🍉 前情提要🌷 效果演示🥝 实现过程1. u...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
windows安装JDK步骤 一、 下载JDK安装包 下载地址:https://www.oracle.com/jav...
分治法实现合并排序(归并排序)... 🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨...
在linux上安装配置node... 目录前言1,关于nodejs2,配置环境变量3,总结 前言...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
Linux内核进程管理并发同步... 并发同步并发 是指在某一时间段内能够处理多个任务的能力,而 并行 是指同一时间能够处理...
opencv学习-HOG LO... 目录1. HOG(Histogram of Oriented Gradients,方向梯度直方图)1...
EEG微状态的功能意义 导读大脑的瞬时全局功能状态反映在其电场结构上。聚类分析方法一致地提取了四种头表面脑电场结构ÿ...
【Unity 手写PBR】Bu... 写在前面 前期积累: GAMES101作业7提高-实现微表面模型你需要了解的知识 【技...