MySQL—视图(一)

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 MySQL—视图(一),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、视图的概念

视图(view)是一个从单张或多张基础数据表或其他视图中构建出来的虚拟表同基础表一样,视图中也包含了一系列带有名称的列和行数据,但是数据库中只是存放视图的定义,也就是动态检索数据的查询语句,而并不存放视图中的数据,这些数据依旧存放于构建视图的基础表中,只有当用户使用视图时才去数据库请求相对应的数据,即视图中的数据是在引用视图时动态生成的。因此视图中的数据依赖于构建视图的基础表,如果基本表中的数据发生了变化,视图中相应的数据也会跟着改变。

PS:视图本质上就是:一个查询语句,是一个虚拟的表,不存在的表,你查看视图,其实就是查看视图对应的sql语句

二、视图的好处

简化用户操作:视图可以使用户将注意力集中在所关心地数据上,而不需要关心数据表的结构、与其他表的关联条件以及查询条件等。

对机密数据提供安全保护:有了视图,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,避免机密数据(如,敏感字段“salary”)出现在不应该看到这些数据的用户视图上。这样视图就自动提供了对机密数据的安全保护功能

三、SQL展示

1、创建/替换单表视图

create or replace view 视图名称 as:创建视图

create or replace view myview1_1
as
select empno,ename,job,comm,deptno
from emp
where deptno=10
with check option;

在这里插入图片描述

查看视图
select * from 视图名称:查看视图

select * from myview1_1

在视图中插入数据

insert into myview1_1 (empno,ename,job,comm,deptno) values (7778,'love','MANAGER',1212,10)

运行后:插入成功

insert into myview1_1 (empno,ename,job,comm,deptno) values (7779,'love1','MANAGER',1212,20)

运行后:1369 – CHECK OPTION failed ‘mytestdb.myview1_1’
只能插入部门为10的同事,插入其他的部门同事会报错

insert into myview1_1 (empno,ename,job,comm,deptno,sal) values (7779,'love1','MANAGER',1212,20,5000)

运行后:1054 – Unknown column ‘sal’ in ‘field list’
插入视图中不存在的字段信息,也会报错

2、创建/替换多表视图

create or replace view myview2
as
select e.empno,e.ename,e.sal,d.deptno,d.dname
from emp e
inner join dept d
on e.deptno=d.deptno
where sal>2000

多表视图:
在这里插入图片描述
查看多表视图

select * from myview2_1

3、创建统计视图

create or replace view myview3_1
as
select e.empno,e.ename,avg(sal),min(sal),max(sal) 
from emp e
inner join dept d
on e.deptno=d.deptno
group by e.deptno

统计视图为:
在这里插入图片描述

4、创建基于视图的视图

create or replace view myview4_1
as 
select * from myview2_1 where deptno=10

myview2_1视图为:
在这里插入图片描述
myview4_1视图为:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123573.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!