MySQL视图

Posted 冬色

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL视图相关的知识,希望对你有一定的参考价值。

创建视图CREATE TABLE

视图定义注意事项:

  • SELECT不能包含FROM语句中的子查询
  • SELECT不能引用系统或用户变量
  • 在定义中不能引用TEMPORARY
  • 在视图定义中命名的表必须已存在
  • 视图定义的格式:CREATE [OR REPLACE][ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}] VIEW view_name[(column_list)] AS select_statement [WITH[CASCADED|LOCAL]CHECK OPTION]。事实上修改和删除视图于此类似,下面省略

修改视图ALTER VIEW


删除视图DROP VIEW


视图处理算法

  • 以上可选的ALGORITHM子句是对标准SQL的mysql扩展,可取三个值MERGE(引用视图的语句与视图定义语句结合,使视图定义的语句取代部分引用视图的语句)/TEMPTABLE(视图结果置于TEMPTALE中,并使用它执行,表锁定释放的速度较快)/UNDEFINED(未定义,默认选项,MySQL自主选择算法,倾向于MERGE)
  • 视图算法在一下三种情况下可以是UNDEFINED:
  1. 没有指定ALGORITHM
  2. 显式指定ALGORITHM=UNDEFINED
  3. 临时表只能为ALGORITHM=UNDEFINED

可更新可插入视图

  • 不可更新视图
  • 不可插入视图

以上是关于MySQL视图的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

回收站视图未显示在片段中

如何从片段内的列表视图打开链接网址?

如何使列表视图出现在片段中?

如何从活动中更改片段中视图的可见性

片段中的网格视图