openGauss数据库基础--视图
视图
视图与基本表不同,是一个虚拟的表。数据库中仅存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。若基本表中的数据发生变化,从视图中查询出的数据也随之改变。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中用户感兴趣的数据及变化。
语法格式
-
创建视图
""
CREATE [ TEMP | TEMPORARY ] VIEW view_name [ ( column_name [, ...] ) ] AS query;
-
删除视图
""
DROP VIEW view_name ;
参数说明
-
TEMP | TEMPORARY
创建临时视图。
-
view_name
要创建的视图名称。可以用模式修饰。
取值范围:字符串,符合标识符命名规范。
-
column_name
可选的名称列表,用作视图的字段名。如果没有给出,字段名取自查询中的字段名。
取值范围:字符串,符合标识符命名规范。
-
query
为视图提供行和列的SELECT或VALUES语句。
示例
表customer_t1 ,数据内容如下:
""openGauss=# SELECT * FROM customer_t1;
c_customer_sk | c_customer_id | c_first_name | c_last_name | amount
---------------+---------------+--------------+-------------+--------
3869 | hello | Grace | | 1000
3869 | | Grace | |
3869 | hello | | |
6985 | maps | Joes | | 2200
9976 | world | James | | 5000
4421 | Admin | Local | | 3000
(6 rows)
从customer_t1表创建视图,视图只从customer_t1表中选取几列:
""openGauss=# CREATE VIEW CUSTOMER_VIEW AS SELECT c_first_name, amount FROM customer_t1;
CREATE VIEW
可以查询CUSTOMER_VIEW,与查询表的方式类似。
""openGauss=# SELECT * FROM CUSTOMER_VIEW;
得到结果如下:
""c_first_name | amount
--------------+--------
Grace | 1000
Grace |
|
Joes | 2200
James | 5000
Local | 3000
(6 rows)
使用完成后,可以删除视图释放空间。
""openGauss=# DROP VIEW CUSTOMER_VIEW;
DROP VIEW
更多内容请参考:
https://docs.opengauss.org/zh/docs/3.1.0/docs/BriefTutorial/BriefTutorial.html
分类:
数据库学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具