更新时间:2025-05-29 GMT+08:00
管理视图
图1 创建和管理视图

背景信息
当用户需要频繁查询多张表的特定字段组合时,可通过定义视图来避免重复编写查询语句。视图通过虚拟表抽象底层表结构,简化常用查询操作。
视图是一种逻辑表,与物理存储的基本表不同,其数据不实际驻留于磁盘。数据库仅保存视图的查询定义,实际数据始终保留在关联的基础表中。当基础表数据发生变更时,视图查询结果将动态同步这些变化。视图如同一个实时数据窗口,允许用户访问其关注的数据镜像。每次访问视图时,系统都会重新执行其定义查询以获取最新数据。
管理视图
操作前请先创建表,步骤请参见创建表。
- 创建视图,具体操作请参见CREATE VIEW。
执行如下命令创建新视图myview,其中tpcds.web_returns为已经创建的、包含名为wr_refunded_cash整型字段的用户表。
1 2
gaussdb=# CREATE OR REPLACE VIEW myview AS SELECT * FROM tpcds.web_returns WHERE trunc(wr_refunded_cash) > 10000; CREATE VIEW
CREATE VIEW中的OR REPLACE子句是可选的。若使用此子句,当视图已存在时,数据库系统将自动替换原有视图定义。
- 查询视图
- 查看当前用户下的视图
1
gaussdb=# SELECT * FROM my_views;
- 查看所有视图
1
gaussdb=# SELECT * FROM adm_views;
- 查看某视图的具体信息
执行如下命令查询myview视图的详细信息。
1 2 3 4 5 6 7 8
gaussdb=# \d+ myview View "PG_CATALOG.myview" Column | Type | Modifiers | Storage | Description ----------+-----------------------+-----------+----------+------------- USERNAME | CHARACTER VARYING(64) | | extended | View definition: SELECT PG_AUTHID.ROLNAME::CHARACTER VARYING(64) AS USERNAME FROM PG_AUTHID;
- 删除视图
父主题: 其他操作