视图(view)

2017-10-22  本文已影响0人  咸鱼有梦想呀

一、视图(view)

是一种结构(有行有列)但是没有结果(结构中不真实存放数据)的虚拟表,虚拟表的结构来源不是自己定义的,而是从对应的基表中产生。

1.创建视图

create view 视图名 as select 语句;

select语句可以是普通查询,连接查询,联合查询,子查询。

(1)创建单表视图
(2)创建多表视图

创建视图:单表+多表

2.查看视图

查看试图:查看视图结构

  • show tables;
  • desc 视图名;
  • show create table 视图名;

3.使用视图
使用视图主要是为了查询。将视图当作表一样查询即可。
视图的执行:其实本质就是执行封装的select语句。

4.修改视图
视图本身不可修改,但是视图的来源可以修改

修改视图:修改视图本身的来源语句(select语句)
alter view 视图名 as 新的 select 语句;

修改视图

5.删除视图

drop view 视图名;

删除视图

6.视图意义

二、视图数据操作

1.新增数据
视图新增就是直接对视图进行数据新增

视图向基表插入数据

2.删除数据

单表删除数据

3.更新数据

多表视图更新数据 更新限制

三、视图算法

视图算法:系统对视图以及外部查询视图的select语句的一种解析方式。
当查询信息时遇到了相同的信息,系统会自动选其中一个(看图3.1)

3.1

当这种情况发生如何解决?
因此就有了视图算法

视图算法

算法指定:在创建视图的时候
create algorithm = 制定算法 view 视图名 as select 语句;

临时算法

视图算法选择
如果视图的select语句中包含一个查询子句(where,group by,order by,having,limit)而且很有可能顺序比外部的查询语句要靠后,使用算法temptable,其他情况可以不用指定(默认即可)。

上一篇 下一篇

猜你喜欢

热点阅读