【MySQL视图】


前言

视图是什么?
视图本质上就是一张表,将特定条件下查询出来的结果筛选出来,在内存中形成一张表并将查询结果插入表中。

一、创建视图

create view 视图名 as select语句;

案例:根据员工名和所在部门,创建一张视图。

create view myview as select ename,dname from emp inner join dept on emp.deptno=dept.deptno;

修改视图影响基表,修改基表影响视图

从视图中更新数据:

mysql> update myview set ename=‘smith’ where ename=‘SMITH’;

将表格数据更新后,视图表如下:

在这里插入图片描述

员工表如下:
在这里插入图片描述
总结:修改视图表,基表也会跟着改。

现在来修改基表:

mysql> update emp set ename=‘SMITH’ where ename=‘smith’;

基表修改完成后,发现基于该基表创建的视图,也同样被修改了。
在这里插入图片描述

删除视图

drop view 视图名;

视图规则和限制

视图规则和限制
1.与表一样,必须唯一命名(不能出现同名视图或表名)
2.创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响
3.视图不能添加索引,也不能有关联的触发器或者默认值
4.视图可以提高安全性,必须具有足够的访问权限
5.order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图中的 order by 将被覆盖
6.视图可以和表一起使用

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邓富民

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值