视图模式是对一个查询结果的记录。试图里只存放语句,不存放结果。类似于虚表。
视图优点:
1、简单:试图构建一个虚拟的逻辑表,这个表里的数据来自于指定的查 询。而查询是可以多表联查。在使用的时候,程序员可以直接对试图表里的数据进行查询,而不用从原始表查。
2、安全:数据库有权限设置,但是没有对列和行的权限。如果对一个表里的数据设置不同的权限,MySQL本身的权限设置有些不够,我们试图查询出用户需要的数据,用户基于试图进行查询。
3、数据独立:一旦试图的结构决定了,可以屏蔽表结构变化,给用户带来的影响,在原表中增加一列,
试图缺点:
1、试图会降低查询的效率。尤其是在试图当中的查询当中再次使用试图。
视图的设立:
需求:查询所有姓孙的女生
创建
查询所有姓孙的学生
select * from teacher where name like “孙%”;
创建该视图
create view teacher_sun as( select * from teacher where name like “孙%”);
形成虚拟表
查询 teacher中所有姓孙的人
select * from teacher where name like“孙%”;
查询 teacher中所有姓孙并且是女性:
select * from teacher_sun where gender= “女”;
查看所有视图:
SHOW TABLE STATUS WHERE COMMENT="view"
删除视图
DROP VIEW teracher_sun;