什么是视图

视图相当于从副表中创建的一个虚拟的表,它可以筛选数据,隐藏表的结构,防止有关业务人员看到敏感数据。
例如:可以针对社会保险基金表创建视图,显示姓名地址,不显示社会保险号和工资。

view视图创建、使用

  1. 创建视图
    格式:

create view vw_视图名 as
query语句

1
2
create view vw_stu as
select name, phone from student;
  1. 使用视图
    视图作为虚表,其使用和表的query相同。
1
select * from vw_stu;
  1. 显示视图
1
2
3
4
5
6
show tables;                # 显示数据库中的表或视图
desc vw_stu; # 显示视图结构
show create view vw_stu; # 显示视图的创建过程

# 显示表格详细属性,一般用不到此语句
show table status where comment = 'view' | G;
  1. 更新和删除视图
    操作与表操作相当。
1
2
3
4
5
# 修改并查看修改后的视图
alter view vw_stu as select name from student;
select * from vw_stu;

drop view vw_stu; # 删除视图
  1. 视图算法
    应用场景:查询视图用了子查询时;
    分类:temptable(临时表), merge(合并), undefined(缺省值,不使用算法)
    语法:create algorithm = temptable view as + query语句