• 技术文章 >数据库 >mysql教程

    mysql的视图是什么

    藏色散人藏色散人2021-12-28 14:44:01原创640

    mysql的视图是mysql数据库中存放数据的一个接口,也可以说是虚拟的表;这些数据可以是一个或几个基本表或视图的数据,也可以是用户自已定义的数据;当基本表里面的数据发生变动时,视图里面的数据随之变动。

    本文操作环境:Windows7系统,mysql5.0版,Dell G3电脑。

    mysql的视图是什么?

    mysql View

    视图是mysql数据库中存放数据的一个接口

    介绍

    视图是存放数据的一个接口,也可以说是虚拟的表。这些数据可以是从一个或几个基本表(或视图)的数据。也可以是用户自已定义的数据。其实视图里面不存放数据的,数据还是放在基本表里面,基本表里面的数据发生变动时,视图里面的数据随之变动。

    作用

    1,mysql view让查询变得很清晰,视图中存放的数据就是我们所要的数据,并且可以简化用户操作。

    2,mysql view让数据更安全,视图中的数据,不存在视图中,还是在基本表里面,通过视图这层关系,我们可以有效的保护我们的重要数据

    类型

    mysql的视图有三种类型:MERGE、TEMPTABLE、UNDEFINED。如果没有ALGORITHM子句,默认算法是UNDEFINED(未定义的)。算法会影响MySQL处理视图的方式。

    1,MERGE,会将引用视图的语句的文本与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分。

    2,TEMPTABLE,视图的结果将被置于临时表中,然后使用它执行语句。

    3,UNDEFINED,MySQL将选择所要使用的算法。如果可能,它倾向于MERGE而不是TEMPTABLE,这是因为MERGE通常更有效,而且如果使用了临时表,视图是不可更新的。

    语法

    CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    VIEW view_name [(column_list)]
    AS select_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]

    d2d244ccb7ea0ec8363abba927484f8.png

    该语句能创建新的视图,如果给定了OR REPLACE子句,该语句还能替换已有的视图。select_statement是一种SELECT语句,它给出了视图的定义。该语句可从基表或其他视图进行选择。

    该语句要求具有针对视图的CREATE VIEW权限,以及针对由SELECT语句选择的每一列上的某些权限。对于在SELECT语句中其他地方使用的列,必须具有SELECT权限。如果还有OR REPLACE子句,必须在视图上具有DROP权限。

    视图属于数据库。在默认情况下,将在当前数据库创建新视图。要想在给定数据库中明确创建视图,创建时,应将名称指定为db_name.view_name。

    mysql> CREATE VIEW test.v AS SELECT * FROM t;

    表和视图共享数据库中相同的名称空间,因此,数据库不能包含具有相同名称的表和视图。

    视图必须具有唯一的列名,不得有重复,就像基表那样。默认情况下,由SELECT语句检索的列名将用作视图列名。要想为视图列定义明确的名称,可使用可选的column_list子句,列出由逗号隔开的ID。column_list中的名称数目必须等于SELECT语句检索的列数。

    SELECT语句检索的列可以是对表列的简单引用。也可以是使用函数、常量值、操作符等的表达式。

    对于SELECT语句中不合格的表或视图,将根据默认的数据库进行解释。通过用恰当的数据库名称限定表或视图名,视图能够引用表或其他数据库中的视图。

    推荐学习:《mysql视频教程

    以上就是mysql的视图是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql
    上一篇:mysql表怎么加注释 下一篇:mysql怎样查看表的注释
    Web大前端开发直播班

    相关文章推荐

    • 如何解决ubuntu mysql 乱码问题• 如何解决mysql blob乱码问题• 找不到mysql.h怎么办• mysql表怎么加注释

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网