【MySQL】视图、用户和权限管理
目录
- 视图
- 创建视图
- 数据修改影响
- 删除视图
- 视图优点
- 用户和权限管理
- 查看当前的数据库拥有用户信息
- 创建用户
- 修改密码
- 删除用户
- 权限
- 授权
- 回收权限

视图
视图就是相当于创建一个表,将查询到的结果集给存储起来。像使用复杂的多表查询查询到的结果集就不可以对结果集操作。而使用视图就可以。
-
视图是⼀个虚拟的表,它是基于⼀个或多个基本表或其他视图的查询结果集。
-
视图本⾝不存储数据,⽽是通过执⾏查询来动态⽣成数据。
⽤⼾可以像操作普通表⼀样使⽤视图进⾏查询、更新和管理。 -
视图本⾝并不占⽤物理存储空间,它仅仅是⼀个查询的逻辑表⽰,物理上它依赖于基础表中的数据。
-
使用查询语句查询查询真实数据时可以拿到敏感信息,但是如果将视图传给其他人来查询就可以避免。
创建视图
create view 视图名 (视图列名可省略) as (查询结果);
创建视图时如果将列名省略,那么是由查询结果的列名作为视图列名,但是如果查询结果中列名有重复就会创建失败,需要采取给其起别名来解决。
数据修改影响
对视图的操作就跟表操作一样。
- 修改真实表的数据会影响视图。
- 修改视图也会影响真实表。
视图修改的条件:
- 创建视图时不能使⽤聚合函数。
- 创建视图时不能使⽤
distinct
。 - 创建视图时不能使⽤
group by
和having
子句。 - 创建视图时不能使⽤
union
和union all
联合查询语句。 - 查询列表中不能使⽤⼦查询。
- 在
from
⼦句中引⽤不可更新视图。
删除视图
drop view 视图名;
视图优点
- 简单性:视图可以将复杂的查询封装成⼀个简单的查询。例如,针对⼀个复杂的多表连接查询,可以创建⼀个视图,⽤⼾只需查询视图⽽⽆需了解底层的复杂逻辑。
- 安全性:通过视图,可以隐藏表中的敏感数据。例如,⼀个系统的⽤⼾表中,可以创建⼀个不包含密码列视图,普通⽤⼾只能访问这个视图,⽽不能访问原始表。
- 逻辑数据独立性:视图提供了⼀种逻辑数据独⽴性,即使底层表结构发⽣变化,只需修改视图定义,⽽⽆需修改依赖视图的应⽤程序。使⽤到应⽤程序与数据库的解耦
- 可读性:视图允许⽤⼾重命名列名,以增强数据可读性。
用户和权限管理
在我们练习中都是使用root用户,root用户权限很大且一个数据库只有一个,在实际应用中,用户权限大小至关重要,而且还要有多个用户。
查看当前的数据库拥有用户信息
用户信息存储在系统库mysql中的user表里面。mysql库是系统库,我们不要对其修改。
语法:
use mysql;
select host, user, authentication_string from user;
名词解释:
- host:允许登录的主机,相当于⽩名单,如果是localhost,表⽰只能从本机登陆。
- user:⽤⼾名。
- *_priv:⽤⼾拥有的权限,*表示多个单词,相当于通配符。
- authentication_string :加密后的⽤⼾密码
创建用户
语法:
create user [IF NOT EXISTS] '用户名(区分⼤⼩写)'@'主机名' identified by '密码';
这样创建的用户没有任何权限。
注意事项:
- 如果不指定host_name相当于’user_name’@‘%’,%表⽰所有主机都可以连接到数据库,强烈建
议不要这样设置,因为会导致严重的安全问题。 - 用户名和主机名中间的@没包含在单引号’'只内。
- host_name可以通过⼦⽹掩码设置主机范围:
◦ 198.0.0.0/255.0.0.0 :A段⽹络中的任意⼀台主机;
◦ 198.51.0.0/255.255.0.0: 198.51 B段⽹络中的任意⼀台主机;
◦ 198.51.100.0/255.255.255.0: 198.51.100 C段⽹络中的任意⼀台主机;
◦ 198.51.100.1 :只包含特定IP地址的主机。 - 从MySQL8.0.23开始,指定为IPv4地址的主机值可以使⽤CIDR表⽰法写⼊,例如198.51.100.44/24。
- 允许在IP地址中使⽤%通配符,⽐如,主机值’%'匹配任何主机名, 198.51.100.% 匹配
198.51.100 C段⽹络中的任何主机。MySQL8.0.35中已弃⽤,以后可能会删除。
示例:
添加⼀个名为ikun的新⽤⼾,允许从本机登录
create user 'bit'@'localhost' identified by '123456';
修改密码
语法:
# 为指定⽤⼾设置密码
alter user '用户名(区分大小写)'@'主机名' identified by '新密码';
# 为指定⽤⼾设置密码
set password for '用户名(区分大小写)'@'主机名' = '新密码';
# 为当前登录⽤⼾设置密码
set password = '新密码';
示例:
- 以root⾝份登录,为’ikun’@'localhost’⽤⼾重置密码
ALTER USER 'bit'@'localhost' IDENTIFIED BY '987654';
- 以root⾝份登录,为’ikun’@'localhost’⽤⼾重置密码
SET PASSWORD FOR 'bit'@'localhost' = '123456';
- 以ikun⽤⼾登录,修改当前登录⽤⼾的密码
SET PASSWORD = '111111';
删除用户
语法:
drop user [if exists] '用户名(区分大小写)'@'主机名';
示例:
删除用户’ikun’@‘192.168.1.1/24’
drop user 'ikun'@'192.168.1.1/24';
权限
MySQL内置⽀持的权限列表如下:
授权
语法:
grant priv_type[, priv_type ...] on priv_level to'user_name'@'host_name' [WITH GRANT OPTION];
名词解释:
- priv_type:根据类型,参考根据列表4.1中的Privilege列。
- priv_level:* | . | db_name.* | db_name.tbl_name | tbl_name,⽐如*.*表⽰所有数据库下的所
有表。 - ‘user_name’@‘host_name’:指定⽤⼾。
- [WITH GRANT OPTION]:可选,允许⽤⼾将⾃⼰的权限授权给其它⽤⼾。
示例:
为ikun@localhost⽤⼾授权于 java01 数据库的 select 权限。
grant select on java01.* to 'ikun'@'localhost';
回收权限
语法:
REVOKE [IF EXISTS] priv_type[, priv_type] ... ON priv_level FROM 'user_name'@'host_name' [, 'user_name'@'host_name'] ...
示例:
回收ikun@localhost⽤⼾对于 java01 数据库的权限:
REVOKE all on *.* from 'ikun'@'localhost';
相关文章:

【MySQL】视图、用户和权限管理
目录 视图创建视图数据修改影响删除视图视图优点 用户和权限管理查看当前的数据库拥有用户信息创建用户修改密码删除用户权限授权回收权限 视图 视图就是相当于创建一个表,将查询到的结果集给存储起来。像使用复杂的多表查询查询到的结果集就不可以对结果集操作。而…...
Linux基础(五):linux文件种类与扩展名
1.文件种类 文件种类含义正规文件( regular file )就是一般我们在进行存取的类型的文件, 在由 ls -al 所显示出来的属性方面, 第一个字符为 [ - ], 例如 [-rwxrwxrwx ]。 另外, 依照文件的内容,…...
C语言-c语言组成
1.C语言的组成 一个C源程序是由 一个或者多个.c文件 和 0个或者多个.h 文件 组成 源程序: 是指未编译的 按照一定的程序设计语言规范书写的文本文件 .c文件 : c源代码 .h文件 : 头文件(接口文件) 2. .c文件 1)预处理命令 以#开头的行,在编译之前 会事…...
编程题 7-13 日K蜡烛图【PAT】
文章目录 题目输入格式输出格式输入样例1输出样例1输入样例2输出样例2输入样例3输出样例3 题解解题思路完整代码 编程练习题目集目录 题目 股票价格涨跌趋势,常用蜡烛图技术中的 K K K 线图来表示,分为按日的日 K K K 线、按周的周 K K K 线、按月的…...
iOS开发工程师面试
iOS开发工程师面试题可以涵盖多个方面,包括但不限于iOS开发的基础知识、高级概念、性能优化、架构设计、最新技术等。 1. 基础知识 1.1 请解释iOS中的Xcode是什么,以及它在开发中的作用和功能有哪些? Xcode是用于iOS和macOS等苹果平台开发的集成开发环境(IDE),提供了代…...

无人机避障—— 激光雷达定高北醒TF03-UART(二)
无人机避障过程,光靠大疆飞控内部的气压计不准,很容易在高度较低的时候受到地面植被等障碍物影响,使得掉高严重,因此采用激光雷达定高模块进行定高。 硬件: 北醒TF03-UART、Xavier-NX 软件代码: 北醒官…...

在虚幻引擎中实现Camera Shake 相机抖动/震屏效果
在虚幻引擎游戏中创建相机抖动有时能让画面更加高级 , 比如 遇到大型的Boss , 出现一些炫酷的特效 加一些短而快的 Camera Shake 能达到很好的效果 , 为玩家提供沉浸感 创建Camera Shake 调整Shake参数 到第三人称或第一人称蓝图 调用Camera Shake Radius值越大 晃动越强...

SQL Server的文本和图像函数
新书速览|SQL Server 2022从入门到精通:视频教学超值版_sql server 2022 出版社-CSDN博客 《SQL Server 2022从入门到精通(视频教学超值版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) SQL Se…...

PN8034非隔离12V300MA,SOP7/DIP7开关电源芯片
PN8034宽输出范围非隔离交直流转换芯片 PN8034SSC-R1B----SOP7, PN8034NSC-T1 ----DIP7, PN8034概述 PN8034集成PFM控制器及650V高雪州能力智能功本MOSFET,用于外图元器件极精简的小功率非隔离开关电源。PN8034内置高压启动模块,…...

VMware下Ubuntu找不到共享文件夹
在VMware的设置中已经设置了共享文件夹,在Ubuntu系统中找不到,参考了网上其他的文章,发现还是不能解决问题,无意中尝试了一小步,没想到成功解决了,在这里记录一下。 1)首先查询本机的gid 2&…...

银河麒麟桌面操作系统V10登录闪退问题解决
银河麒麟桌面操作系统V10登录闪退问题解决 1、问题描述2、问题分析3、问题解决方法第一步:修改/tmp文件夹权限第二步:重启图形化服务 💐The Begin💐点点关注,收藏不迷路💐 在使用银河麒麟桌面操作系统V10时…...

【Git原理与使用】分支管理
分支管理 1.理解分支2.创建分支2.1创建分支2.2切换分支2.3合并分支 3.删除分支4.合并冲突4.分支管理策略5.分支策略6.bug分支7.删除临时分支8.小结 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励&…...

Linux操作系统分析实验-多线程与内核模块编程,实验一
实验一 多线程与内核模块编程 一、实验目的 1、理解Linux下进程的结构; 2、理解Linux下产生新进程的方法(系统调用—fork函数); 3、掌握如何启动另一程序的执行; 4、理解Linux下线程的结构; 5、理解…...

AI绘画Stable Diffusion人物背景替换实操教程,让创意无限延伸
大家好,我是灵魂画师向阳 Stable Diffusion以其强大的能力可以实现人物背景的更换。本文将带你深入了解如何利用Stable Diffusion中的Inpaint Anything插件快速且精准地实现人物背景的替换,从而让你的图片焕发新生。 前期准备 本文会使用到Inpaint An…...

linux环境oracle11.2.0.4打补丁(p31537677_112040_Linux-x86-64.zip)
上传补丁及opatch工具 创建目录并上传opatch工具和补丁包 百度网盘地址 链接: https://pan.baidu.com/s/1EA5oerm52aesZUnb5OnQsA 提取码: ib8f [oraclerhel64 ~]$ mkdir /u01/psu [oraclerhel64 ~]$ cd /u01/psu [oraclerhel64 psu]$ ll total 514572 -rw-r--r-- 1 oracle o…...

华为 HCIP-Datacom H12-821 题库 (29)
🐣博客最下方微信公众号回复题库,领取题库和教学资源 🐤诚挚欢迎IT交流有兴趣的公众号回复交流群 🦘公众号会持续更新网络小知识😼 1.运行 IS-IS 的两台路由器,只有 IIH 发送的时间间隔相同才可以建立邻接关系 A、正…...
MySQL 为什么一定要有一个主键
引言 在数据库设计中,主键(Primary Key)是一个至关重要的概念。MySQL 作为最广泛使用的关系型数据库之一,主键在 MySQL 表设计中扮演着关键角色。主键不仅决定了表中数据的唯一性和完整性,还对数据库性能、数据查询、…...

Pycharm 本地搭建 stable-diffusion-webui
一、下载工程源码 Github官方连接 https://github.com/AUTOMATIC1111/stable-diffusion-webui 二、Pycharm打开工程 1、设置环境 文件-设置-项目-Python解析器-添加解释器-添加本地解释器 Conda环境-创造新环境-Python版本3.10 注意一定要选择Python3.10版本,否…...
python/爬虫技术/lxml工具介绍/XML和HTML解析
1.lxml介绍: lxml 是一个Python库,它提供了非常强大的XML和HTML解析功能。它基于libxml2和libxslt,是处理XML和HTML文档的首选库之一。 2.安装 首先,需要安装lxml库。可以通过pip来安装,在控制台内执行安装命令。 p…...
Kafka技术详解[5]: 集群启动
目录 集群启动 相关概念 代理:Broker 控制器:Controller 启动ZooKeeper 启动Kafka 初始化ZooKeeper 初始化服务 启动任务调度器 创建数据管理器 创建远程数据管理器 创建副本管理器 创建ZK元数据缓存 创建Broker通信对象 创建网络通信对象 注册Brok…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...

密码学基础——SM4算法
博客主页:christine-rr-CSDN博客 专栏主页:密码学 📌 【今日更新】📌 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 编辑…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001
qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类,直接把源文件拖进VS的项目里,然后VS卡住十秒,然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分,导致编译的时候找不到了。因…...
【大厂机试题解法笔记】矩阵匹配
题目 从一个 N * M(N ≤ M)的矩阵中选出 N 个数,任意两个数字不能在同一行或同一列,求选出来的 N 个数中第 K 大的数字的最小值是多少。 输入描述 输入矩阵要求:1 ≤ K ≤ N ≤ M ≤ 150 输入格式 N M K N*M矩阵 输…...

可视化预警系统:如何实现生产风险的实时监控?
在生产环境中,风险无处不在,而传统的监控方式往往只能事后补救,难以做到提前预警。但如今,可视化预警系统正在改变这一切!它能够实时收集和分析生产数据,通过直观的图表和警报,让管理者第一时间…...