一、视图介绍
1.1视图定义:是一个虚拟表,本身不包含数据,行和列的数据来自于自由定义视图查询所引用的列,在引用视图的时候动态生成。和普通的表格使用方式一致。
1.2视图的优点:
①简化操作:将复杂的sql关联查询和筛选条件进行视图封装,使用较为方便。
②安全性:视图可以定制可以查询到的数据(列值),提高了数据的安全性,用于权限控制。
③调高了数据查询效率。
④实现了一定层度上的逻辑独立性。
1.3视图和表格区别
Mysql--视图 Mysql 第1张
二、视图的使用
2.1视图的创建
语法:create view 视图名
as
查询语句;
表结构:
Mysql--视图 Mysql 第2张

需求1:查询员工last_name like “c”的lase_name(员工名), department_name(部门名),job_title(工种名)
Mysql--视图 Mysql 第3张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

需求2:查询各个部门的平均工资的级别
Mysql--视图 Mysql 第4张

2.2视图修改:
① create or replace view 视图名
as
查询语句;
② alter view 视图名
as
查询语句;
Mysql--视图 Mysql 第5张
Mysql--视图 Mysql 第6张

2.3查询视图
①desc chen;
②show create view chen02;
2.4删除视图
Drop view 视图名,视图名,(可多个);
三、视图数据更新
3.1可以实现:
数据的插入
数据的修改
数据的删除
会对原始表改变。【相应的CRUT】
Mysql--视图 Mysql 第7张
Mysql--视图 Mysql 第8张
Mysql--视图 Mysql 第9张

3.2不可更新的视图
①包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all
②常量视图
③Select中包含子查询
④含有 join 语句
⑤from一个不能更新的视图
⑥where子句的子查询引用了from子句中的表
Mysql--视图 Mysql 第10张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄