PostgreSQL如何创建视图

1,770次阅读
没有评论

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

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:postgresql2022-12-02发表,共计1165字。
新手QQ群:570568346,欢迎进群讨论 Python51学习