品易云推流 关闭
文章详情页
文章 > PostgreSQL > PostgreSQL如何创建视图

PostgreSQL如何创建视图

头像

月亮邮递员

2020-04-01 14:57:464352浏览 · 0收藏 · 0评论

PostgreSQL如何创建视图

创建视图使用CREATE VIEW语句。

在 PostgreSQL 用 CREATE VIEW 语句创建视图,视图创建可以从一张表,多张表或者其他视图。

语法如下

CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....FROM table_name
WHERE [condition];

推荐:postgresql教程

可以在 SELECT 语句中包含多个表,这与在正常的 SQL SELECT 查询中的方式非常相似。如果使用了可选的 TEMP 或 TEMPORARY 关键字,则将在临时数据库中创建视图。

使用示例:

有一个表COMPANY,表数据内容如下:

pycn# select * from COMPANY;
 id | name  | age | address   | salary----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000(7 rows)

下面是一个从 COMPANY 表创建视图的实例。视图只从 COMPANY 表中选取几列:

pycn# CREATE VIEW COMPANY_VIEW AS
SELECT ID, NAME, AGE
FROM  COMPANY;

现在,可以查询 COMPANY_VIEW,与查询实际表的方式类似:

pycn## SELECT * FROM COMPANY_VIEW;

得到结果如下:

id | name  | age----+-------+-----
  1 | Paul  |  32
  2 | Allen |  25
  3 | Teddy |  23
  4 | Mark  |  25
  5 | David |  27
  6 | Kim   |  22
  7 | James |  24(7 rows)

PostgreSQL 视图是只读的,因此可能无法在视图上执行 DELETE、INSERT 或 UPDATE 语句。但是可以在视图上创建一个触发器,当尝试 DELETE、INSERT 或 UPDATE 视图时触发,需要做的动作在触发器内容中定义。

推荐学习《Python教程》。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图