【MySQL】视图

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

一、语法

实际上是真的创建一张表,跟表一样也是个文件;

修改了视图的数据会影响基表的数据,因为视图的源自基表(基表就是视图的数据来源于哪个表);相反的修改基表也会影响视图;

视图规则:

与表一样,必须唯一命名(不能出现同名视图或表名)

创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响视图

不能添加索引,也不能有关联的触发器或者默认值

视图可以提高安全性,必须具有足够的访问权限order by 可以用在视图中,但是如果从该视图检索数据select中也含有order by,那么该视图中的 order by将被覆盖

视图可以和表一起使用

总结:视图跟表一样,除了视图不能添加索引;

二、用户管理

我们在安装 MySQL 的时候,其实是默认自带了许多的表的:

结论:对用户进行创建、删除、修改的本质是对 user 表的增删查改;

1)创建用户

注意:此时创建的用户是不能远程登录的;

2)删除用户

3)创建可以远程登录的用户

注意:大多数公司是不允许使用 % 的,% 表示允许任意一台主机登录;

注意:一般我们对 user 进行增删查改之后,要刷新一下:

4)修改密码

5)权限管理

我在 root 创建了一个数据库,而 lisi 看不到,原因是 lisi 没有权限查看;

权限列表:

给 lisi 添加权限:

all:所有权限;

rootDB.user:lisi 使用权限的库和表,这里只能使用 user 表,改成 * 代表可以使用该数据库 rootDB 中所有的表;

在 root 中查看给 lisi 的权限:

回收 lisi 的 insert 权限:

相关推荐
掉头发的王富贵1 小时前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils1 小时前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
SamDeepThinking6 小时前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
Databend1 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
李白客2 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
ClouGence2 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将2 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils3 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波3 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端