视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,并可以将其当作表来使用。
例如不用视图调用:
SELECT * from (select * from student where gender='男') as A where A.class_id>1;
但是如果你一千条查询中有一半以上需要用到上面的临时表进行查询呢,如果每一次都要写那就会工作量大很多了。如果使用视图就不一样了。create view tb1 as select * from student where gender='男';
-- 1.创建视图
create view tb1 as select * from student where gender='男';
-- 使用视图进行查询。
select * from tb1 where class_id>1;
结果如图
这样每次使用的时候只需调用tb1就可以了,不需要每一次都写完整的语句了。
删除视图
-- 格式:DROP VIEW 视图名称
drop view tb1;
修改视图
-- 格式:ALTER VIEW 视图名称 AS SQL语句
alter view tb1 as select * from student where gender='女';
视图的结果就变成这个了;
补充:使用视图时,将其当作表进行操作即可,由于视图是虚拟表,所以无法使用其对真实表进行创建、更新和删除操作,仅能做查询用。