MySQL基础-----SQL语句之DCL数据控制语句

 目录

前言

一、管理用户

1.查询用户

2.创建用户

3.修改用户密码

4.删除用户

案例

二、权限控制

1.查询权限

 2.授予权限

 3.撤销权限

案例


前言

        本期我们学习SQL语句的最后一部分内容,也就是数据控制语句DCL。DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。

一、管理用户

1.查询用户

select * from mysql.user;

 查询结果如下:

其中 Host 代表当前用户访问的主机 , 如果为 localhost, 仅代表只能够在当前本机访问,是不可以
远程访问的。 User 代表的是访问该数据库的用户名。在 MySQL 中需要通过 Host User 来唯一标识一个用户。

2.创建用户

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

 3.修改用户密码

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

4.删除用户

DROP USER '用户名'@'主机名' ;
注意事项:
  • 在MySQL中需要通过用户名@主机名的方式,来唯一标识一个用户。
  •  主机名可以使用 % 通配。
  •  这类SQL开发人员操作的比较少,主要是DBA( Database Administrator 数据库 管理员)使用。

案例

A. 创建用户itcast, 只能够在当前主机localhost访问, 密码123456

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

创建后查看用户,多了一个名字为itcast的用户,同时登录试试看。

 B. 创建用户ikun, 可以在任意主机访问该数据库, 密码123456;

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

查询后,可以看到这里多了一个ikun 的用户

C. 修改用户ikun的访问密码为1234;

alter user 'ikun'@'%' identified with mysql_native_password by '1234';

修改后测试登录,登录成功

D. 删除 itcast@localhost 用户

drop user 'itcast'@'localhost';

 执行后,查询当前已有用户,如下所示,itcast用户被删除了

二、权限控制

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

权限

说明

ALL, ALL PRIVILEGES

所有权限

SELECT

查询数据

INSERT

插入数据

UPDATE

修改数据

DELETE

删除数据

ALTER

修改表

DROP

删除数据库/表/视图

CREATE

创建数据库/表

 上述只是简单罗列了常见的几种权限描述,其他权限描述及含义,可以直接参考官方文档(MySQL :: MySQL 8.0 Reference Manual :: 8.2.2 Privileges Provided by MySQL

1.查询权限

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

 2.授予权限

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

 3.撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名'; 1
注意事项:
  • 多个权限之间,使用逗号分隔
  •  授权时, 数据库名和表名可以使用 * 进行通配,代表所有。

案例

A. 查询 'ikun'@'%' 用户的权限
show grants for 'ikun'@'%';

 B. 授予 'ikun'@'%' 用户itcast数据库所有表的所有操作权限

grant all on itcast.* to 'ikun'@'%';

再次查询权限

 C. 撤销 'ikun'@'%' 用户的itcast数据库的所有权限

revoke all on itcast.* from 'ikun'@'%';

再次查询权限

 以上是本期全部的内容,我们下一期就开始学习函数了,下次见!

分享一张壁纸:

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

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

相关文章

TypeScript 中,接口(Interface)

在 TypeScript 中,接口(Interface)是一种定义对象结构的类型。接口定义了对象应该具备的形状,即对象应该具有哪些属性和方法。 代码示例: // 定义一个接口,表示一个人的信息 interface Person { name:…

HarmonyOS NEXT应用开发案例集

概述 随着应用代码的复杂度提升,为了使应用有更好的可维护性和可扩展性,良好的应用架构设计变得尤为重要。本篇文章将介绍一个应用通用架构的设计思路,以减少模块间的耦合、提升团队开发效率,为开发者呈现一个清晰且结构化的开发…

深度学习模型九大经典初始化方案

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 1. 正态分布初始化 正态分布初始化将权重初始化为来自正态(或高斯)分布的随机数。该分布通常以0为均值,其标…

HTTPS是什么,那些行业适合部署呢?

随着在线活动的增加,对您共享的关键数据的威胁已经产生了严重的后果,包括欺诈性金融交易、在线身份盗窃等。此外,随着技术使用的增加,网络攻击也变得更加复杂和具有挑战性。 毫无疑问,互联网用户的数据安全意识成倍增长…

友思特应用 | 轻装上阵:便携式光谱仪,助力食品安全的便捷保障

欢迎访问官网了解更多:智能化手持光谱仪 | Linksqaure光谱仪 | 近红外便携式光谱仪 | 价液体检测台 | 广州友思特科技有限公司 导读 食品安全是一个备受瞩目的话题。在消费电子和光子学的进步推动下,手持式光学仪器可用于食品安全以及质量的评估&#x…

PaddleOCR CPU 文本文字识别 docker部署

需求: 需要把所有滑块图片的数据文字提取出来 启动服务 mkdir paddle cd paddle docker run -itd --name ppocr -v $PWD:/paddle --networkhost -it registry.baidubce.com/paddlepaddle/paddle:2.1.3-gpu-cuda10.2-cudnn7 /bin/bash docker exec -it ppocr bash …

蓝牙网关在智慧医疗的应用

蓝牙网关在智慧医疗的应用已经逐渐得到广泛关注。作为一种无线通信技术,蓝牙网关能够将各种蓝牙设备连接起来,实现数据传输和信息共享。在智慧医疗领域,蓝牙网关的应用不仅可以提高医疗服务的效率和质量,还可以为患者带来更好的医…

使用API接口竞品价格监控

步骤一:确定监控目标和KPIs 目标:明确您希望通过监控竞品价格来实现的目标,例如保持价格竞争力、检测价格波动等。KPIs:设定关键绩效指标,如价格变动幅度、价格调整频率等。 步骤二:选择数据源和API 电商…

2024年Android开发陷入饱和,,面试杀手锏

背景介绍 现在是一个信息大爆炸的时代,互联网世界中存在着无数的数据。信息就是这个时代最宝贵的资源,拥有了资源就相当于。互联网是块风水宝地,里面藏了无数的宝藏!能不能挖到就看本事了。谁拥有了最全、最准确的信息&#xff0…

Jmeter 压测 —— 利用Docker分布式压测!

Jmeter分布式测试环境中有两个角色:Master 和 Slaves Master节点:向参与的Slaves节点发送测试脚本,并聚合Agent节点的执行结果。Slaves节点:接收并执行Master节点发送过来的测试脚本,并将执行结果返回给Master。 为什…

threejs展示glb模型

原模型为rvt模型 <template><div ref"threeJsContainer"class"three-js-container"></div> </template> <script> import { defineComponent } from "vue"; import * as THREE from "three"; import…

npm 私服以及使用

在工作中&#xff0c;公司有很多内部的包并不希望发布到npm官网仓库&#xff0c;因为可能涉及到一些私有代码不能暴露。对于前端来讲&#xff0c;这时就可以选择在公司内网搭建npm私有仓库。当前比较主流的几种解决方案&#xff1a;verdaccio、nexus、cnpm。大家可以按照自己的…

GEE遥感云大数据林业应用典型案例实践及GPT模型应用

近年来遥感技术得到了突飞猛进的发展&#xff0c;航天、航空、临近空间等多遥感平台不断增加&#xff0c;数据的空间、时间、光谱分辨率不断提高&#xff0c;数据量猛增&#xff0c;遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…

docker安装php7.4安装(swoole)

容器 docker pull centos:centos7 docker run -dit -p9100:9100 --name“dade” --privilegedtrue centos:centos7 /usr/sbin/init 一、安装前库文件和工具准备 1、首先安装 EPEL 源 yum -y install epel-release2.安装 REMI 源 yum -y install http://rpms.remirepo.net/en…

SDWAN专线,解决银行网络搭建痛点

金融行业的不断发展和数字化转型&#xff0c;银行网络的搭建和管理面临着诸多挑战和痛点。SD-WAN&#xff08;Software-Defined Wide Area Network&#xff0c;软件定义广域网&#xff09;专线作为一种创新的网络解决方案&#xff0c;为银行解决了诸多网络搭建痛点&#xff0c;…

nextjs中怎么import svg,并且使用

在 Next.js 中&#xff0c;导入 SVG 并使用它的方法与常规 React 项目类似。以下是如何在 Next.js 中导入和使用 SVG 的步骤&#xff1a; 1、放置 SVG 文件 首先&#xff0c;将你的 SVG 文件放置在项目的某个目录中&#xff0c;例如 public/static/images。 2、导入 SVG 你…

Python数据处理实战(0)-常用功能以及操作

系列文章&#xff1a; 0、基本常用功能及其操作&#xff08;本文操持更新&#xff09; 1&#xff0c;20G文件&#xff0c;分类&#xff0c;放入不同文件&#xff0c;每个单独处理 2&#xff0c;数据的归类并处理 3&#xff0c;txt文件指定的数据处理并可视化作图 4&#xf…

【教程】uni-app iOS打包解决profile文件与私钥证书不匹配问题

摘要 当在uni-app中进行iOS打包时&#xff0c;有时会遇到profile文件与私钥证书不匹配的问题。本文将介绍如何解决这一问题&#xff0c;以及相关的技术细节和操作步骤。 引言 在uni-app开发过程中&#xff0c;iOS打包是一个常见的操作。然而&#xff0c;有时会出现profile文…

git的密钥管理

配置Git中的SSH密钥主要涉及到生成密钥对和将公钥添加到远程仓库&#xff08;如GitHub&#xff09;的过程。以下是一个详细的配置步骤&#xff1a; 生成SSH密钥对&#xff1a; 首先&#xff0c;确保你已经安装了Git。 打开终端或命令行界面。 输入命令 ssh-keygen -t ed25519 …

【vue.js】文档解读【day 2】 | 响应式基础

如果阅读有疑问的话&#xff0c;欢迎评论或私信&#xff01;&#xff01; 本人会很热心的阐述自己的想法&#xff01;谢谢&#xff01;&#xff01;&#xff01; 文章目录 响应式基础声明响应式状态(属性)响应式代理 vs 原始值声明方法深层响应性DOM 更新时机有状态方法 响应式…