zoukankan      html  css  js  c++  java
  • MySQL视图

    介绍

    视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。通过视图,可以展现基表的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。基表:用来创建视图的表叫做基表base table

    为什么使用视图

    1、简化复杂的sql操作。在编写查询后,可以很方便的重用他,而不必知道他的基本查询细节。

    2、使用表的组成部分而不是整个表。

    3、保护数据。可以给用户授予表的特定部分的访问权限。

    4、更改数据的格式和表示。视图可返回与底层表的表示与格式不同的数据。

    在视图创建了之后,可以用与表基本相同的方式利用它。可以对视图进行SELECT操作,过滤与排序数据,将视图联结到其他的视图和表,甚至能添加和更新数据(添加和更新数据需要一定的限制 )。

    重要的是知道视图仅仅是用来查看存储在别处的数据的一种设施。视图本身不包含数据。因为他们返回的数据是从其他表中查询而来。再添加和更改这些表中的数据后,视图将会返回改变过的数据。

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

    视图的规则和限制

    1、与表一样视图必须唯一命名。(不能给视图取和别的视图或者是表相同的名字)

    2、对于可以创建的视图个数是没有限制的。

    3、为了创建视图,必须有足够的权限,这些权限是有数据库管理员授予的。

    4、视图可以嵌套,即可以利用从其他视图中检索数据的查询来构建一视图。

    5、ORDER BY可以使用在视图上,但是如果从该视图中检索数据的SELECT中如果也包含ORDER BY 语句,则视图中的ORDER 将会被覆盖。

    6、视图不能过索引,也不能有关联的触发器或默认值。

    7、视图可以和表一起使用。例如,编写一条连接视图与表的SELECT语句。

    创建视图

    查看视图

    修改视图

    删除视图

  • 相关阅读:
    SpringBoot-整合Shiro和JWT时关于JWT部分的内容
    springboot常用注解分类整理
    ubuntu18.04 安装tomcat9
    Ubuntu 18.04 安装Tomcat9 遇到的问题Tomcat9 Error: Could not find or load main class org.apache.catalina.startup.Bootstrap
    Ubuntu 18.04 上安装水下网络仿真器Aqua-Sim NG
    用gorm向mysql插入的时间数据和实际时间不一致问题
    Ubuntu18.04上安装NS-3
    Java集合用法
    Spring Boot 自动装配原理
    深入理解select、poll和epoll及区别
  • 原文地址:https://www.cnblogs.com/yhq-qhh/p/10302011.html
Copyright © 2011-2022 走看看