个人博客网:https://wushaopei.github.io/ (你想要这里多有)
1、什么是视图?
视图:MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表
,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果
应用场景:
– 多个地方用到同样的查询结果
– 该查询结果使用的sql语句较复杂
示例:
视图的好处:
- 重用sql语句
- 简化复杂的sql操作,不必知道它的查询细节
- 保护数据,提高安全性
2、创建或修改视图
视图的可更新性和视图中查询的定义有关系,以下类型的 视图是不能更新的。
• 包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all
• 常量视图
• Select中包含子查询
• join
• from一个不能更新的视图
• where子句的子查询引用了from子句中的表
2.1、创建视图
#【1】查询姓名中包含a字符的员工名、部门名和工种信息
#【2】.查询各部门的平均工资级别
#【3】.查询平均工资最低的部门信息
#【4】.查询平均工资最低的部门名和工资
2.2、视图的修改
#方式一:
#方式二:
3、删除视图
注意:
• 删除视图的语法:
用户可以一次删除一个或者多个视图,前提是必须有该视图的drop权限。
4、查看视图
注意:
show tables;
如果需要查询某个视图的定义,可以使用show create view 命令进行查看:
5、视图的更新
具备以下特点的视图不允许更新
#【1】包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all
#更新
#【2】常量视图
#更新
#【3】Select中包含子查询
#更新
#【4】join
#更新
#【5】from一个不能更新的视图
#更新
#【6】where子句的子查询引用了from子句中的表
#更新