• 技术文章 >数据库 >PostgreSQL

    PostgreSQL如何创建视图

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

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

    相关文章推荐

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

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网