MySQL学习记录——십삼 视图及用户、权限管理


1、视图

视图把查询出来的结果以表结构的形式存储起来,视图和基表有关系,两者的数据变化都会互相影响。

在查询时,假如要经常查询一条记录,select …,那么为了方便,可以这样写

create view 视图名 as select …

也就是将这条查询作为一个视图。此时所有表中就多了一个表,数据库文件中也多了后缀为frm的文件。如果对这个视图做修改,基表,即原表也会被更改。基表更改视图也会被更改。

删除视图就和删除表一样,drop table 表名。


特性:

与表一样,必须唯一命名(不能出现同名视图或表名)
创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响,不过复杂查询时一般使用视图。
视图不能添加索引,也不能有关联的触发器或者默认值
视图可以提高安全性,必须具有足够的访问权限
如果形成视图时用的select语句中有order by,那么对这个视图使用order by时新的就会覆盖旧的
视图可以和表一起使用

2、用户管理

用户可以是root,也可以是普通用户。登录数据库后,有一个mysql的库,库中有自带的表。 user表中记录了谁可以使用数据库,select * from user\G,每一部分中Host表示允许的登录方式,User表示允许登录的用户,下面则是一些权限,Y或者N;authen…_string是用户密码,其它数据库版本也有这个,不过可能名字不一样。创建用户时可以向这个表插入数据,但很麻烦,不如用单独的语法来做。

create user ‘用户名’@‘登录主机或IP地址’ identified by ‘密码’;

本机登录就写localhost,密码会经过哈希算法后再存入。 创建后刷新一下,或者如果无法创建用户也刷新一下。

flush privileges;

删除用户

drop user 用户名@登录方式;

如果要远程登录写’%'就行,意思是任意主机。

设置密码

set password=password(‘’);
set password for ‘用户名’@‘登录主机’=password(‘新的密码’);

第二种可以用来改其他用户的密码。

对于用户做操作后都可以加上一句刷新flush privileges。

3、权限管理

设置权限

grant 权限列表 on 库.表名 to ‘用户名’@‘登录主机’;

权限列表如果有多个就用逗号隔开。看一下权限

show grants for ‘用户名’@‘登录主机’;

回收权限

revoke 权限列表 on 库.表名 from ‘用户名’@‘登录主机’;

all包含了所有权限,如果回收了其中一个,那么再显示时就会把其它的权限都列出来。库名和表名那里写*就表示全部库和表。

结束。

相关推荐

  1. MySQL学习记录—— 视图用户权限管理

    2024-02-20 07:52:04       28 阅读
  2. mysql 用户管理-权限

    2024-02-20 07:52:04       20 阅读
  3. MySQL用户权限管理详解

    2024-02-20 07:52:04       5 阅读
  4. 06.MySQL用户权限管理

    2024-02-20 07:52:04       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-20 07:52:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-20 07:52:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-20 07:52:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-20 07:52:04       18 阅读

热门阅读

  1. 【0259】inval.h/inval.c的理解

    2024-02-20 07:52:04       30 阅读
  2. HBase API

    2024-02-20 07:52:04       30 阅读
  3. 【React】使用lodash的debounce未生效

    2024-02-20 07:52:04       37 阅读
  4. ansible inventory 主机清单

    2024-02-20 07:52:04       29 阅读
  5. Docker Compose 配置环境变量

    2024-02-20 07:52:04       25 阅读
  6. git checkout 某个分支后如何回退到执行之前的分支

    2024-02-20 07:52:04       25 阅读
  7. 课时39:表达式_运算符_简单计算

    2024-02-20 07:52:04       22 阅读
  8. 2024前端面试准备之uniapp篇

    2024-02-20 07:52:04       32 阅读
  9. C/C++ BM9 删除链表的倒数第n个节点

    2024-02-20 07:52:04       32 阅读