# 创建视图
CREATE VIEW ab 
AS
SELECT * FROM data_0925_01 limit 10

select * from  information_schema.views		#查询所有的视图
show tables 		#可查看所有的视图和表
select * from  information_schema.tables		#查询所有的表
INNODB #一般自己后建的表属于这类

1、视图的使用条件

  • 如果某个查询结果出现的非常频繁,就是要经常拿这个查询结果来做子查询,使用视图会更加方便。

2、使用视图的好处

  • 简化查询语句
  • 可以进行权限控制 把表的权限封闭,但是开放相应的视图权限,视图里只开放部分数据列。
  • 大数据表分表的时候,比如某张表的数据有100万条,那么可以将这张表分成四个视图。 按照对id取余计算

3、创建视图 create or replace view v_test as select * from user;

  • 加上OR REPLACE表示该语句还能替换已有的视图

4、调取视图 select * from v_test;

5、修改视图 alter view v_test as select * from user1;

6、删除视图 drop view if exists v_test;

7、查看视图 show tables;

  • 视图放在information_schema数据库下的views表里

8、查看视图的定义 show table status from companys like ‘v_test’;

9、视图的算法——存在两种执行的算法

  • Merge:合并的执行方式,每当执行的时候,先将我们的视图的sql语句与外部查询视图的sql语句,混合在一起,最终执行。
  • Temptable:临时表模式,每当查询的时候,将视图所使用的select语句生成一个结果的临时表,再在当当前临时表内进行查询。