视图

本章我们将讨论视图:创建、修改、删除视图。为高级篇的物化视图、递归视图等打好基础。

视图是一种存储在数据库中的,已命名的查询。它是一种逻辑表,通过 SELECT 语句表示一个或多个基础表的数据 。除了物化视图(将在高级篇进行讲解)外,视图不会在数据库中物理存储数据。

  • 视图有助于简化查询
  • 与表一样,可以为视图进行授权
  • 基础表的数据发生变化,视图的数据也会自动进行变化

创建视图

创建视图的语法为:

CREATE VIEW 视图名 AS 查询;

示例:为示例数据库建立 customer_master 视图,用于简化获取完整客户数据的查询操作:

修改视图

CREATE OR REPLACE 视图名 AS 查询;
-- 或
ALTER VIEW 视图名 AS 查询;
DROP VIEW [IF EXISTS] 视图名;

虽然 PostgreSQL 允许你在视图上使用 UPDATE/DELETE 语句,但强烈建议你不要在视图上对数据进行更改/删除。

视图应该是作为只读的存在,目的是为了简化查询,请不要通过视图对数据进行任何写操作。如果要对数据进行写操作,请通过对基础表的相关操作进行实现。

要查看完整内容,请先登录