三十三、视图

2022-05-06 18:28:22 浏览数 (1)

一、什么是视图

视图是一个虚拟表,其内容由 select 查询语句定义和真是的表一样,视图也包含行和列,对视图的操作与对表的操作基本一致。视图中的数据是在试用视图时动态生成的,视图中的数据都存储在基表中。使用视图具备如下三种好处:

  1. 可读性:简化了复杂查询,使复杂查询更易于理解和使用。
  2. 安全性:视图可以隐藏一些敏感信息,可以把权限限定到行列级别。
  3. 重用性:视图是对复杂查询语句的封装,对数据库重构不会影响程序的运行。
二、视图的基本操作

视图表的数据变化会影响到基表,基表数据的变化也会影响到视图表。基本操作语法如下:

代码语言:javascript复制
#创建视图
CRETAE VIEW view_name AS SELECT ...;

#修改视图
ALTER VIEW view_name AS SELECT ...;

#查看视图创建语句
SHOW CREATE VIEW view_name;

#查看有哪些视图
SHOW TABLE STATUS WHERE comment='view';

#删除视图
DROP VIEW view_name;

#修改视图
UPDATE view_name set colum=value [where whereColum=value];

Tip:虽然说对视图表数据的修改会影响到基表的数据,但是一般来说我们使用视图表的本意是对数据进行查询,并且不会对视图表进行修改操作,而且对试图表的修改操作容易出现数据缺失或不正确的问题,并且对于有复杂逻辑的视图表数据进行修改的话是不允许的。

0 人点赞