【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 权限:

相关推荐
DianSan_ERP1 天前
抖店订单接口同步中如何解决订单漏单与数据一致性难题?
数据库
2401_824222691 天前
c++如何通过重定向rdbuf来捕获第三方库的日志输出到文件【详解】
jvm·数据库·python
2401_867623981 天前
CSS如何解决响应式文字大小调整_利用clamp函数实现流体排版
jvm·数据库·python
2501_901006471 天前
如何使用SQL视图快速生成测试数据_模拟复杂场景
jvm·数据库·python
2401_850491651 天前
安装宝塔面板提示端口被占用_查找并终止占用进程
jvm·数据库·python
2401_833033621 天前
如何通过Java存储过程执行OS命令_Runtime.getRuntime().exec的封装与安全限制
jvm·数据库·python
weixin_459753941 天前
SymPy中正确处理含整数参数的三角函数定积分:避免n=0特例干扰结果
jvm·数据库·python
李少兄1 天前
领域驱动设计与 Clean Code 的实践
java·数据库·领域驱动
Mr. zhihao1 天前
[特殊字符] 从 Redis 缓存穿透到布隆过滤器,再到布谷鸟过滤器:一次穿透防护的进化之旅
数据库·redis·缓存
@小匠1 天前
Redis 7 持久化机制
数据库·redis·缓存