mysql之视图view介绍

mysql之视图view​🌄

什么是视图?
视图就是通过查询得到的一张虚拟表,然后保存下来,下次直接使用即可。
即:将SQL语句的查询结果当做虚拟表实体化保存起来,以后可以反复使用。

为什么要用视图?
如果要频繁使用一张虚拟表,可以不用重复查询

比如 : 我们来查看两张表的连接(emp:员工表 和 dep:部门表)查看员工对应的部门
select * from emp inner join dep on emp.dep_id=dep.did;
# 补充 :inner join:内连接 :只连接两个表中都存在(有对应关系)的数据

结论:我们如果要想多表查询的话每次都要输入这一串sql命令才可以看到对吧。

假设:这张表的数据非常多 我们要一点点分析,这样的话我们是不是分析一段就要再输入一边sql语句再去看去分析,如果这条sql语句非常长的话那岂不是很麻烦。

解决:所以这里用到上述的视图(将sql语句的结果保存下来可以反复使用)来解决这个问题

如何使用视图:

语法结构:create view 视图表名字 as 需要保存为视图的sql语句;

实例:
	create view e2p as select * from emp inner join dep on emp.dep_id=dep.id;

补充:字段名冲突无法建立视图
修改字段名:alter table <表名> change <字段名> <字段新名称> <字段的类型>。
查看视图结果是否与原sql语句结果相等:select * from emp_dep;

补充:

删除视图:drop view 视图名;
	eg :drop view emp_dep;

强调:

1、在硬盘中,视图只有表结构,没有表的数据文件(数据来源据原表)
2、视图通常是用来查询,尽量不要修改视图中的数据:因为修改视图数据很有可能修改原表数据

在开发过程中是不会使用视图的:
视图时mysql的功能,如果你的项目里面大量的使用到了视图,那意味着你后期想要扩张某个功能的时候这个功能恰巧有需要对视图进行修改,那意味这你需要现在mysql这边将视图修改一下,然会再去应用程序中修改对应的sql语句,这就涉及到跨部门沟通的问题,所以通常不会使用视图,而是通过重新修改sql语句来扩展功能
posted @ 2022-01-29 23:55  JasonBorn  阅读(234)  评论(0编辑  收藏  举报