域名 AXUM.RS 将于2025年10月到期。我们无意再对其进行续费,我们希望你能够接续这个域名,让更多 AXUM 开发者继续受益。现在,我们已启用新域名 AXUM.EU.ORG
  • 方案AXUM.RS 域名 = 3000
如果你有意接续这份 AXUM 情怀,请与我们取得联系。
说明:
  1. 如果有人购买 AXUM.RS 域名,或者该域名到期,本站将使用免费域名 AXUM.EU.ORG 继续提供服务。

视图

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

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

创建视图

CREATE VIEW 视图名 AS 查询;

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

CREATE VIEW customer_master AS
  SELECT cu.customer_id AS id,
    cu.first_name || ' ' || cu.last_name AS name,
    a.address,
    a.postal_code AS "zip code",
    a.phone,
    city.city,
    country.country,
        CASE
            WHEN cu.activebool THEN 'active'
            ELSE ''
        END AS notes,
    cu.store_id AS sid
   FROM customer cu
     INNER JOIN address a USING (address_id)
     INNER JOIN city USING (city_id)
     INNER JOIN country USING (country_id);

创建完视图之后,可以简单的:

SELECT
	*
FROM
	customer_master;

修改视图

DROP VIEW [IF EXISTS] 视图名;

可更新数据的视图

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

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