Mysql笔记(六)视图 view
程序员文章站
2024-03-25 23:29:34
...
这是我在学习Mysql之路上做的笔记,今天将它粘出来。这一篇主要是Mysq的视图 view。有错误的欢迎大家指出。。。
数据库的创建参考我的另一篇博客 https://blog.csdn.net/csdnluolei/article/details/83409945
视图
作用:使复杂查询变得简单
不建议修改视图,直接删除再创建
1.安全性
因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,视图中数据是根据基表的更新而更新,用户不可以更改/删除视图。
2.方便,简化数据操作
当我们业务需求要查出多张表的数据,这时我们可能会关联多张表查询处理.如果这个查询sql复杂的话也影响了查询效率.
这个时候我们就可以创建视图,查询时候只需要select*fromview就ok啦~
3.订制数据
在实际业务中,比如我为某企业做的一个后台管理系统,里面分好几种角色:采购员、销售、技术员、后勤...
后勤部的人可能只需要一些和后勤有关的数据,与他无关的数据对于他们没有意义,这时候我们可以根据业务创建一个后勤视图view_logistics
查询数据只需要select *from view_logistics;
#创建视图
CREATE VIEW view_tb_emp AS SELECT
empno'部门编号',
AVG(sal)'平均公资',
MAX(sal)'最高工资',
MIN(sal)'最低工资',
COUNT(1)'部门人数',
SUM(sal)'部门需要发工资'
FROM
tb_emp
GROUPBY
empno
ORDER BY
empnoASC;
#使用视图
SELECT *FROM view_tb_emp;
#删除视图
DROP VIEW view_tb_emp;
--查看数据库所有视图
#因为,视图其实就是一张虚拟的表,所有也可以认为是一张表,所有是showtable,
#而它由于普通的表有所不同,所以有status where comment='view';
show table status where comment='view';