• 技术文章 >数据库 >PostgreSQL

    PostgreSQL如何创建视图

    月亮邮递员月亮邮递员2020-04-01 14:57:46原创4532

    PostgreSQL如何创建视图

    创建视图使用CREATE VIEW语句。

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

    语法如下

    1

    2

    3

    CREATE [TEMP | TEMPORARY] VIEW view_name AS

    SELECT column1, column2.....FROM table_name

    WHERE [condition];

    推荐:postgresql教程

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

    使用示例:

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    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 表中选取几列:

    1

    2

    3

    pycn# CREATE VIEW COMPANY_VIEW AS

    SELECT ID, NAME, AGE

    FROM  COMPANY;

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

    1

    pycn## SELECT * FROM COMPANY_VIEW;

    得到结果如下:

    1

    2

    3

    4

    5

    6

    7

    8

    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 创建 视图
    上一篇:PostgreSQL如何导出数据库文件 下一篇:PostgreSQL如何查询所有表名

    相关文章推荐

    • PostgreSQL删除用户出错怎么办• PostgreSQL如何判断内容是数字• PostgreSQL如何导出数据库文件

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网