Mysql数据库--视图

视图概念

视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库中实际存放数据,它的数据来自定义视图时使用的基本表,并且是在使用视图时动态生成的。

为什么要使用视图

  1. 简化复杂的sql操作,在编写查询后,可以方便的重用它而不必知道它的查询细节。
  2. 重复使用该sql语句,创建成视图后就可以直接查询视图,反复查询视图,而不用重新编写SQL语句
  3. 使用表的组成部分而不是整个表。
  4. 保护数据,可以给用户授予表的特定部分的访问权限而不是整个表。
  5. 更改数据格式和表示。创建视图时可以更换表的结构

在这里插入图片描述

性能问题

采用视图性能会降底

查询视图时才会动态生成相应的SQL语句去查询基本表,得到视图所需要的数据;然后在此基础之上在进行一次查询,然后将结果反馈给用户。这样的处是对外只暴露视图中的数据,而看不到基本表中的所有数据

因为视图不包含数据,所以每次使用视图时,都必须处理查询执行时所需的任一个检索。如果是多个联结和过滤创建了复杂的视图或者嵌套了视图,可能会出现性能下降。

视图能否修改

视图的主要目的是用来查询,但是如果向视图中插入数据是要分情况的:
因为向视图中插入数据最终是要插入到基本表中的,用户看到的只是视图中暴露的数据,这些数据来自多少基本表并不清楚,所以视图一般不允许进行插入等修改。

创建视图

  • create view 视图名 as select语句;

在这里插入图片描述

查看视图

  • show tables; 默认会显示表和视图,但不能区分。
  • show full tables; 会显示表和视图的类型

删除视图

  • drop view viewname;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值