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

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

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

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

相关推荐
怕什么真理无穷2 分钟前
mysql server 9.4 windows安装教程(sqlyog 下载)
数据库
Olrookie8 分钟前
MySQL运维常用SQL
运维·数据库·sql·mysql·dba
数据库生产实战18 分钟前
ORACLE 19C ADG环境 如何快速删除1.8TB的分区表?有哪些注意事项?
数据库·oracle
blackorbird36 分钟前
使用 Overpass Turbo 查找监控摄像头
运维·服务器·数据库·windows
IT永勇40 分钟前
SQLite数据库基本操作
数据库·sqlite·嵌入式开发·增删改查·关系型数据库
洋不写bug42 分钟前
数据库的创建,查看,修改,删除,字符集编码和校验操作
android·数据库·adb
想ai抽1 小时前
吃透大数据算法-算法地图(备用)
大数据·数据库·spark
weixin_307779131 小时前
Clickhouse导出库的表、视图、用户和角色定义的SQL语句
开发语言·数据库·算法·clickhouse·自动化
流星白龙1 小时前
【Qt】7.信号和槽_connect函数用法(1)
开发语言·数据库·qt
码界奇点1 小时前
平替MongoDB金仓多模数据库在电子证照国产化中的实践与优势
数据库·mongodb·社交电子·里氏替代原则