1.创建视图
语法:create view 视图名 as 查询语句 实例: -- 以上节课的关联查询为例 create view v_user_score as select a.id, a.name, b.math, b.english from student a inner join score b on a.id=b order by id; -- 查询 select * from v_user_score; -- 删除 drop view v_user_score;
2.视图特点
视图是数据的特定子集,是从其他表里提取出数据而形成的虚拟表,或者说临时表。
创建视图表依赖一个查询。
视图是永远不会自己消失的除非手动删除它。
视图有时会对提高效率有帮助。临时表不会对性能有帮助,是资源消耗者。
视图一般随该数据库存放在一起,临时表永远都是在 tempdb 里的。
视图适合于多表连接浏览时使用;不适合增、删、改,这样可以提高执行效率。
一般视图表的名称以 v_ 为前缀,用来与正常表进行区分。
对原表的修改会影响到视图中的数据
3.视图表是否可修改
依赖于创建视图表时的算法值
ALGORITHM 有三个可选值:
UNDEFINED,MERGE,TEMPTABLE
默认值时undefined,效果是允许修改
merge和undefined效果一致
temptable 是不允许修改
语句
create ALGORITHM=temptable view 视图名 as 查询语句