当前位置: 首页 > news >正文

【MySQL】视图与用户管理

【MySQL】视图

  • 视图
    • 视图概念
    • 使用
    • 基表与视图的相互影响
  • 用户管理
    • 新增用户
    • 删除
    • 修改密码
  • 用户权限
    • 授予权限
    • 回收权限

视图

视图概念

视图就是一张虚拟表,其内容由查询定义。与真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化影响到基表,基表的数据变化也会影响到视图

使用

1)创建视图create view 视图名 as select语句;
如:为emp表和dept表建立表内连接

create view myview as select ename,dname from emp inner join dept on emp.deptno=dept.deptno;

2)删除

drop view 视图名;

把select查出来的东西变成了临时表结构,放在表之中,这个表就是视图。好处就是获取一些高频访问的数据时,不用在做多表查询了,直接以视图的方式查看即可

基表与视图的相互影响

修改视图影响基表
在这里插入图片描述
修改基表影响视图
在这里插入图片描述

用户管理

MySQL中的用户,都存储在系统数据库mysql的user表中

mysql> use mysql
mysql>  select host,user,authentication_string from user;
+-----------+---------------+-------------------------------------------+
| host      | user          | authentication_string                     |
+-----------+---------------+-------------------------------------------+
| localhost | root          | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

新增用户

对用户的增删改操作可以用mysql提供的专门对用户管理的sql语句,也可以使用DML语言

create user '用户名'@'登陆主机/ip' identified by '密码';

如:

create user 'wmh'@'%' identified by '******';

使用windows客户端连接云服务器上的数据库
在这里插入图片描述

如果发现赋操作没有生效,执行如下指令flush privileges;

删除

drop user '用户名'@'主机名'

如:

drop user 'wmh'@'%';

修改密码

1.自己改自己的

set password=password('新的密码');

2.root修改任意的

set password for '用户名'@'主机名'=password('新的密码');

3.DML对表中数据操作

update user set authentication_string=password('666666') where user='wmh';

4.修改用户的允许登录的ip

update user set host = '%' where user = '用户名';

用户权限

授予权限

刚创建的用户没有任何权限。需要给用户授权
用户权限表
语法:

grant 权限列表 on.对象名 to '用户名'@'登陆位置' [identified by '密码']

查看用户权限:

show grants for '用户名'@'登陆位置';
权限列表,多个权限用逗号分开
grant select on ...
grant select, delete, create on ....
grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限

*.* : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)

示例:

--给用户wmh赋予soctt数据库下所有文件的select权限
mysql> grant all on scott.* to 'wmh'@'localhost';
mysql> show grants for 'wmh'@'%';--查询wmh用户现有权限
+------------------------------------------------+
| Grants for wmh@%                               |
+------------------------------------------------+
| GRANT USAGE ON *.* TO 'wmh'@'%'                |--连接登录权限
| GRANT ALL PRIVILEGES ON `scott`.* TO 'wmh'@'%' |--scott数据库下所有权限

回收权限

语法:

revoke 权限列表 on.对象名 from '用户名'@'登陆位置'

示例:
回收wmh用户在scott数据库所有表的删除权限,即无法再进行删除数据

revoke delete on scott.* from 'wmh'@'%';
http://www.lryc.cn/news/106794.html

相关文章:

  • LINUX系统监控工具ATOP的使用
  • [回馈]ASP.NET Core MVC开发实战之商城系统(五)
  • iPhone 8透明屏的透明度高吗?
  • Vue2 第十五节 组件间通信方式
  • maven的下载与安装
  • BroadcastChannel 实现浏览器tab无刷新通讯
  • 98. Python基础教程:try...except...finally语句
  • c语言实现简单的tcp客户端
  • RocketMQ详解及注意事项
  • 选择适合的项目管理系统,了解有哪些选择和推荐
  • linux基础命令-cd
  • MySQL数据库分库分表备份
  • PyTorch 中的累积梯度
  • 【面试精品】运维工程师需要具备的核心能力有哪些?
  • 微服务实战项目-学成在线-选课学习(支付与学习中心)模块
  • postman和jmeter的区别何在?
  • maven安装(windows)
  • 自学安全卷不动,是放弃还是继续?
  • Django实现音乐网站 ⑶
  • (13) Qt事件系统(two)
  • PHP的知识概要
  • JSON格式Python,Java,PHP等封装根据商品ID获取快手商品详情数据方法
  • 【ASP.NET MVC】MYSQL安装配置(4)
  • 前端框架学习-Vue(二)
  • sublime配置less的一些坑(1)
  • 解码“平台工程”,VMware 有备而来
  • 2023年第四届华数杯数学建模A题B题C题D题思路代码分析
  • java版直播商城平台规划及常见的营销模式+电商源码+小程序+三级分销+二次开发 bbc
  • windows物理机 上安装centos ,ubuntu,等多个操作系统的要点
  • FSDirectory 与 RAMDirectory