openGauss数据库基础--视图

视图

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

语法格式

创建视图

""CREATE[ TEMP |TEMPORARY]VIEWview_name [ ( column_name [, ...] ) ]ASquery;

删除视图

""DROPVIEWview_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|            |10003869|              |Grace|            |3869| hello        ||            |6985| maps          |Joes|            |22009976| world        |James|            |50004421| Admin        |Local|            |3000(6rows)

从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        |1000Grace|

              |Joes|  2200

James        |5000Local|  3000

(6 rows)

使用完成后,可以删除视图释放空间。

""openGauss=# DROP VIEW CUSTOMER_VIEW;DROP VIEW

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容