MySQL——视图[通俗易懂]

MySQL——视图[通俗易懂]视图是一张虚拟的表。与包含数据的表不一样,视图只是包含使用时动态检索数据的查询。 注意:视图只适用于MySQL5及之后的版本 为什么使用视图? 重用SQL语句。 简化复杂的SQL操作。在编写查询后,…

MySQL——视图

注意:视图只适用于MySQL5及之后的版本

为什么使用视图?

  • 重用SQL语句。
  • 简化复杂的SQL操作。在编写查询后,可以方便地重用它而不必知道它的基本查询细节。
  • 使用表的组成部分而不是整张表。
  • 保存数据。可以给用户授予表的特定部分的访问权限而不是整张表的访问权限。
  • 更改数据格式和表示。视图可以返回底层表的表示和格式不同的数据。

在创建视图之后,可以使用与基本表相同的方式操作视图。可以对视图执行select操作,过滤和排序数据,将视图联结到和其他视图或表,甚至能添加和更新数据(添加和更新数据存在某些限制)。更重要的是视图仅仅是用来查看存储在别处数据的一种设施。视图本身不包含数据,因为它们返回的数据是从其他表中检索出来的。在添加或更改这些表中的数据时,视图将返回改变过的数据。

性能问题:因为视图不包含数据,所以每次使用视图时,都必须处理查询执行时所需的任何一个检索。如果使用多个联结和过滤创建的视图或者嵌套了视图,可能会发现性能反而下降的很厉害。因此,在部署使用了大量视图的应用前,应该进行测试。

视图的规则和限制

  • 与表一样,视图必须唯一命名(不能与表名或其他视图名一样)
  • 可创建视图的数目没有限制
  • 创建视图必须有足够的访问权限
  • 视图可以嵌套,即可以利用从其他视图中检索数据的查询来构造一个新的视图
  • order by可以用在视图中,但如果select中也包含了order by,那么视图中的order by将会被覆盖
  • 视图不能创建索引,也不能有关联的触发器或默认值
  • 视图可以和表一起使用。

视图的使用

基本语法

//创建视图
CREATE VIEW viewname AS SELECT 。。。。

//查看创建视图
SHOW CREATE VIEW viewname

//删除视图
DROP VIEW viewname

//更新视图,如果视图不存在则创建视图,否则替换原有视图
CREATE OR REPLACE VIEW

代码100分

利用视图简化复杂的联结

MySQL——视图[通俗易懂]

用视图重新格式化检索出的数据

MySQL——视图[通俗易懂]

使用视图过滤不想要的数据

MySQL——视图[通俗易懂]

使用视图计算字段

MySQL——视图[通俗易懂]

通过视图更新数据

通常视图是可以更新的(即可以使用INSERT、UPDAtE和DELETE)。但视图是基于基本表而言的,使用对视图增加或删除行,实际是对其基表的更新。

一般视图用于检索数据,而不用于更新数据。

小结

视图为虚拟表。它包含的不是数据而是根据需要检索数据的查询。视图提供了一种MySQL的SELECT语句层次的封装,可以简化数据处理以及重新格式化基础数据或保存基础数据。

PS:本文章来源于《MySQL必知必会》

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

(0)
上一篇 2023-01-28 09:00
下一篇 2023-01-28 10:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注