视图:视图就好比一张虚拟表,通过执行相应的查询操作来达到获取部分数据信息的目的
作用:
1、隐藏我们表中比较重要的数据或者不想让人看见的数据。
2、隐藏复杂的业务逻辑,通常视图完成的逻辑,都是相对比较基础的。
应用:
1、创建视图:create view vname as select语句。
例: create view v_teacher as select id,t_name from info_teacher;
2、删除视图:drop view [if exists] vname;
3、修改视图:alter view vname as select 语句
例:alter view v_teacher(v1,v2) as select id,t_name from info_teacher;把 id,t_name字段转化为v1 v2;
4、查询视图:select * from vname;和table一样
视图的执行过程(算法):指的是一个视图是在什么时候执行,依据哪些方法执行。
1、merge:合并的执行方式:执行时,先将我们的视图sql语句与外部查询视图的sql语句混合到一起最终执行。
2、temptable:临时表模式,执行时,先将我们的视图所用的select语句生成一个表,然后在当前的临时表中进行查询。
当用户创建视图时,mysql默认使用一种undefined的处理算法,就是自动在合并和临时表内进行选择。
注意:
1、尽量只使用视图完成读操作。
2、view它只保存了一条查询语句并没有保存数据,所以删除视图时,是不会销毁实体表内的数据的
3、对视图的修改也是对真实表的操作。
4、如果做的是外部接口。一个数据库多个应用,针对每一个应用,采用不同的视图接口。