视图

视图是一种虚拟表,和普通的表类似,有行有列是从一个表或多个表中导出来的数据组成的虚拟表,并不在数据库中真是存在,作用和真实表一样,包含一系列带有行和列的数据。

  • 视图的优点和缺点
  • 视图的操作

(一)视图的优点和缺点

视图的优点:

  • 简单:(简化操作,将复杂的查询语句存到视图中)使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结构
  • 安全:使用视图的用户只能访问他们被允许查询的结构集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单实现
  • 数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,原表增加列对视图没有影响;原表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响

视图的缺点:

  • 性能:从数据库视图查询数据可能会很慢,特别是如果视图是基于其他视图创建的
  • 表依赖关系:将根据数据库的基础表创建一个视图。每当更改与其相关联的表的结构时,都必须更改视图。

(二)视图的操作

(1) 创建视图

创建视图基本操作语法:

mysql 视图太慢 mysql视图性能_python

(2) 视图数据查询

查询视图数据

mysql 视图太慢 mysql视图性能_数据库_02

有了视图的操作,可以看到原本需要两张表联合查询得到的数据,现在通过简单的单表查询语句就能得到具体数据,将复杂的SQL语句实现隐藏起来,提供简单的操作方式,是视图非常重要的功能之一。

视图中的本身没有数据,数据都是创建视图的源表真实表中的数据,所以对真实表的操作会直接反应到视图中,我们删除源表中的部分数据,视图中的数据也会发生变化

(3) 删除视图

删除视图的操作,和删除数据表的操作基本一致,操作语法:

mysql 视图太慢 mysql视图性能_数据库_03