MySQL 视图知识点小结

视图本身是一个虚拟表,不存放任何数据。在使用SQL语句访问视图的时候,它返回的数据是MySQL从其他表中生成的。视图和表在同一个命名空间,

MySQL在很多地方对于视图和表是同样对待的。不过视图和表也有不同。例如,不能在视图上创建触发器,也不能用DROP TABLE命令删除视图。

视图的实现算法:

合并算法:merge

临时表算法:tmptable

 

可更新视图(updatable view):可以通过更新视图来更新视图涉及的相关表。

如果视图定义中包含了group by 、union、聚合函数、以及其他一些特殊情况,就不能被更新了。更新视图的查询也可以是一个关联语句,但是有一个限制,被更新的列必须来自同一个表中。另外,所有使用临时表算法实现的视图都无法被更新。

check option:表示任何通过视图更新的行,都必须符合视图本身的where条件定义。

 

MySQL不支持在视图上创建索引。

MySQL不支持在视图上建任何触发器。

 

http://zhumeng8337797.blog.163.com/blog/static/10076891420111017104659929/?suggestedreading&wumii

 

posted @ 2014-08-04 10:35  yuyue2014  阅读(352)  评论(0编辑  收藏  举报