openGauss学习笔记-74 openGauss 数据库管理-创建和管理视图

文章目录

    • [openGauss学习笔记-74 openGauss 数据库管理-创建和管理视图](#openGauss学习笔记-74 openGauss 数据库管理-创建和管理视图)
      • [74.1 背景信息](#74.1 背景信息)
      • [74.2 管理视图](#74.2 管理视图)
        • [74.2.1 创建视图](#74.2.1 创建视图)
        • [74.2.2 查询视图](#74.2.2 查询视图)
        • [74.2.3 查看某视图的具体信息](#74.2.3 查看某视图的具体信息)
        • [74.2.4 删除视图](#74.2.4 删除视图)

openGauss学习笔记-74 openGauss 数据库管理-创建和管理视图

74.1 背景信息

当用户对数据库中的一张或者多张表的某些字段的组合感兴趣,而又不想每次键入这些查询时,用户就可以定义一个视图,以便解决这个问题。

视图与基本表不同,不是物理上实际存在的,是一个虚表。数据库中仅存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。若基本表中的数据发生变化,从视图中查询出的数据也随之改变。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中用户感兴趣的数据及变化。视图每次被引用的时候都会运行一次。

74.2 管理视图

74.2.1 创建视图

执行如下命令创建新视图MyView。

bash 复制代码
openGauss=# CREATE OR REPLACE VIEW MyView AS SELECT * FROM tpcds.web_returns WHERE trunc(wr_refunded_cash) > 10000;
CREATE VIEW

说明:

当CREATE VIEW中存在OR REPLACE时,表示若以前存在该视图就进行替换,但新查询不能改变原查询的列定义,包括顺序、列名、数据类型、类型精度等,只可在列表末尾添加其他的列。

74.2.2 查询视图

执行如下命令查询MyView视图。

bash 复制代码
openGauss=# SELECT * FROM MyView;

74.2.3 查看某视图的具体信息

执行如下命令查询dba_users视图的详细信息。

bash 复制代码
openGauss=# \d+ dba_users
                      View "PG_CATALOG.DBA_USERS"
  Column  |         Type          | Modifiers | Storage  | Description
----------+-----------------------+-----------+----------+-------------
 USERNAME | CHARACTER VARYING(64) |           | extended |
View definition:
 SELECT PG_AUTHID.ROLNAME::CHARACTER VARYING(64) AS USERNAME
   FROM PG_AUTHID;

74.2.4 删除视图

执行如下命令删除MyView视图。

bash 复制代码
openGauss=# DROP VIEW MyView;
DROP VIEW

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

相关推荐
超级种码11 分钟前
Redis:Redis持久化机制
数据库·redis·bootstrap
阿里-于怀17 分钟前
AgentScope AutoContextMemory:告别 Agent 上下文焦虑
android·java·数据库·agentscope
数据库那些事儿21 分钟前
从极速复制“死了么”APP,看AI编程时代的技术选型
数据库
岁岁种桃花儿25 分钟前
MySQL知识汇总:讲一讲MySQL中Select语句的执行顺序
数据库·mysql·database
言之。1 小时前
Django原子请求
数据库·django·sqlite
Codeking__1 小时前
Redis初识——Redis的基本特性
数据库·redis·缓存
霖霖总总1 小时前
[小技巧29]Batched Key Access:MySQL JOIN 性能优化的关键技术
数据库·mysql·性能优化
Gobysec2 小时前
Goby 漏洞安全通告|MindsDB /api/sql/query 未授权访问漏洞(CVE-2025-68472)
数据库·sql·安全
m0_748245922 小时前
SQLite 数据类型概述
java·数据库·sqlite
五阿哥永琪2 小时前
MySQL 回表查询 性能代价?如何避免?
数据库·mysql