– 视图:如果查询的数据需要多表关联但并不想要构建关联表时可以选择创建视图,构建关联表造成存储资源浪费和数据冗余
– 视图不存储数据,可以看做虚拟表,返回的数据是存储在构成视图的屋里虚拟表中
– 物理数据表发生变化时,查询的视图的关联查询结果也会发生变化
drop VIEW view_bjxx_xsxx;
– 创建班级,学生信息关联视图
create view if not exists view_bjxx_xsxx(
bjbh,
bjmc,
rxrq,
yxbh,
xh,
xm,
xb
)comment ‘班级、学生信息关联’
as select
b.bjbh,
b.bjmc,
b.rxrq,
b.yxbh,
x.xh,
x.xm,
x.xb
from bjxx b
left outer join xsxx x
on b.bjbh=x.bjbh;
–查询视图
desc view_bjxx_xsxx;
– 创建或替换原有视图 用create or replace 或者create if not exists
create or replace view if not exists view_bjxx_xsxx(
bjbh comment ‘班级编号’,
bjmc comment ‘班级名称’,
rxrq comment ‘入学日期’,
yxbh comment ‘所属院系编号’,
xh comment ‘学号’,
xm comment ‘姓名’,
xb comment ‘性别’
)comment ‘班级、学生信息关联’
as select
b.bjbh,
b.bjmc,
b.rxrq,
b.yxbh,
x.xh,
x.xm,
x.xb
from bjxx b
left outer join xsxx x
on b.bjbh=x.bjbh;
–查询视图
desc view_bjxx_xsxx;
– 因为视图依赖于依赖表,所以当依赖表被删除或者用户对依赖表的查询权限被禁止时,
– 会导致原先正常访问的视图出现无法访问的情况
– 重命名视图,修改视图名称
– alter view view_bjxx_xsxx rename to view_bjxx_xsxx_xgh;
– 删除视图
drop view if exists view_bjxx_xsxx_xgh;
VirtualView : YES 说明是虚拟的,减少的数据冗余,所依赖的表结构变化时视图复合查询的结果也发生变化。