Skip to content
On this page

视图

视图是虚拟的表,本身不包含数据,只包含使用时动态检索数据的查询。

为什么使用视图

  • 重用SQL语句
  • 简化复杂的SQL操作
  • 使用表的组成部分而不是整个表
  • 保护数据,可以授予部分访问权限
  • 更改数据格式和表示

视图的规则和限制

  • 命名唯一(不能与其他视图或表相同)
  • 创建数目没有限制
  • 需要具备足够的权限才能创建视图
  • 视图可以嵌套,利用已有视图来构造新的视图
  • 可以使用ORDER BY,但原视图查询语句中的ORDER BY优先级更高
  • 不能索引,也不能有关联的触发器或默认值
  • 可以和表一起使用

使用视图

创建视图

CREATE VIEW viewname AS select语句

查看创建视图

SHOW CREATE VIEW viewname

删除视图

DROP VIEW viewname

更新视图

  • DROPCREATE
  • 或者,CREATE OR REPLACE viewname

更新数据

通常,视图是可更新的,如果你对视图增加或删除行,实际上是对其基表增加或删除行。

但是,并非所有视图都是可更新的。如果视图定义中有以下操作,则不能进行视图的更新:

  • 分组(使用GROUP BY和HAVING)
  • 联结
  • 子查询
  • 聚集函数(Min()、Count()、Sum()等)
  • DISTINCT
  • 导出(计算)列

MIT Licensed | Copyright © 2021 - 2022