PostgreSQL如何创建视图

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教程》。

以上是 PostgreSQL如何创建视图 的全部内容, 来源链接: utcz.com/z/539072.html

回到顶部