MySQL——视图 (重点)

视图

1. 含义:

1) 是虚拟表,和普通表一样使用。
2) 具有临时性,需要则会出现,不需要就可以当不存在。
3) 只保存SQL逻辑,并不保存实际数据。
4)只有当我们去调用视图的时候才会去执行相关语句,如果不调用就不会去占用内存。

2. 视图好处:

1) 重用SQL语句(方便多次利用)。
2) 简化复杂的SQL语句,不必知道它的查询细节。
3)保护数据,提高数据安全性。

3. 视图的创建:

create view 视图名
as
SQL语句;//例如复杂的连表查询语句  From A join B on A.id=B.id join C on A.id=C.id;

4. 视图修改:

方法一:

create or replace view 视图名 //视图若已经存在那么替换成这个新的,若不存在那么创建一个
as
查询语句;

方法二:

alter view 视图名
as
查询语句;

5. 删除视图:

drop view 视图名;

6. 查看视图结构:

desc 视图名;

7. 视图的更新:

视图并不是所有情况都可以更新的,视图的可更新性和视图中查询的定义有关系

视图一般用来查询的,不是更新的!

以下几种情况下,视图是不能更新的:

(1)包含以下关键字的SQL语句:分组函数(distinct,group by ,having,union,union all)。
(视图更新:mysql中,视图不仅是可查询的,而且是可更新的。这意味着我们可以使用insert或update语句通过可更新视图插入或更新基表的行。 另外,我们还可以使用delete语句通过视图删除底层表的行。)

(2) select 中包含子查询

(3)join

(4)from 一个不能更新的视图

(5)where子句的子查询引用了from子句中的表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值