PostgreSQL 使用示例创建视图

什么是 PostgreSQL 看法?

In PostgreSQL,视图是伪表。这意味着视图不是真正的表。但是,我们可以像普通表一样对其进行 SELECT。视图可以具有所有或部分表列。视图也可以是多个表的表示。

这些表称为基表。创建视图时,您只需创建一个查询然后为其命名,使其成为包装复杂且常用查询的有用工具。

创造 PostgreSQL 观看数

要创建 PostgreSQL 视图,我们使用 CREATE VIEW 语句。此语句的语法如下:

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

如果视图已存在,则 OR REPLACE 参数将替换该视图。如果省略该参数并且视图已存在,则会返回错误。

view-name参数是您需要创建的视图的名称。

WHERE 条件是选项,必须满足这些条件才能将任何记录添加到视图中。

考虑下面给出的价格表:

价格:

创造 PostgreSQL 观看数

让我们从上表创建一个视图:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

上述命令将根据以下内容创建一个视图 选择语句。只有价格大于 200 的记录才会添加到视图中。该视图的名称为 Price_View。让我们查询它以查看其内容:

SELECT *
FROM Price_View;

这将返回以下内容:

创造 PostgreSQL 观看数

尽管基表有 4 条记录,但只有 2 条记录被添加到视图中。

这里,我们只能向视图添加一列。让我们创建一个仅包含 Price 表一列的视图:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

该视图被命名为 Price_View2,并且仅包含 Price 表的价格列。让我们查询该视图以查看其内容:

SELECT *
FROM Price_View2;

这将返回以下内容:

创造 PostgreSQL 观看数

改变 PostgreSQL 观看数

无需删除视图即可更改其定义。这可以使用 CREATE OR REPLACE VIEW 语句完成。

让我们通过更新名为 Price_View2 的视图来演示这一点。

价格视图2:

改变 PostgreSQL 观看数

Book 表如下:

书:

改变 PostgreSQL 观看数

价格表如下:

价格:

改变 PostgreSQL 观看数

以下查询将帮助我们更新视图 Price_View2:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

现在让我们查询视图来查看其内容:

改变 PostgreSQL 观看数

视图已更改,现在我们有来自两个不同表的两列。这是使用 JOIN 语句实现的。

删除 PostgreSQL 观看数

任何时候你需要删除 PostgreSQL 视图。您可以使用 DROP VIEW 语句。该语句的语法如下:

DROP VIEW [IF EXISTS] view-name;

参数view-name为需要删除的视图的名称。

在此语法中,IF EXISTS 是可选的。它只是必需的。如果您不指定它并尝试删除不存在的视图,则会收到错误。

例如,要删除名为 Price_View2 的视图,我们可以运行以下语句:

DROP VIEW Price_View2;

该视图将被删除。

使用 pgAdmin

现在让我们看看如何使用 pgAdmin 执行这些操作。

创造 PostgreSQL 观看数

要通过 pgAdmin 完成相同操作,请执行以下操作:

步骤1) 登录您的 pgAdmin 帐户。

步骤2)

  1. 从左侧导航栏中单击数据库。
  2. 单击“演示”。

创造 PostgreSQL 使用 pgAdmin 的视图

步骤3) 在查询编辑器中输入查询:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

步骤4) 单击执行按钮。

创造 PostgreSQL 使用 pgAdmin 的视图

步骤5)要查看视图的内容,请执行以下操作:

  1. 在查询编辑器中键入以下命令:
  2. SELECT *
    FROM Price_View;
    
  3. 单击执行按钮。

创造 PostgreSQL 使用 pgAdmin 的视图

这将返回以下内容:

创造 PostgreSQL 使用 pgAdmin 的视图

要创建视图 Price_View2,请执行以下操作:

步骤1) 在查询编辑器中键入以下查询:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

步骤2)单击“执行”按钮。

创造 PostgreSQL 使用 pgAdmin 的视图

步骤3) 要查看视图的内容,请执行以下操作:

  1. 在查询编辑器中键入以下查询:
  2. SELECT *
    FROM Price_View2;
    
  3. 单击执行按钮。

创造 PostgreSQL 使用 pgAdmin 的视图

这将返回以下内容:

创造 PostgreSQL 使用 pgAdmin 的视图

改变 PostgreSQL 观看数

要通过 pgAdmin 完成相同操作,请执行以下操作:

步骤1) 登录您的 pgAdmin 帐户。

步骤2)

  1. 从左侧导航栏中单击数据库。
  2. 单击“演示”。

改变 PostgreSQL 使用 pgAdmin 的视图

步骤3) 在查询编辑器中输入查询:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

步骤4) 单击执行按钮。

改变 PostgreSQL 使用 pgAdmin 的视图

步骤5) 在查询编辑器中键入以下查询:

SELECT * 
FROM Price_View2;

这将返回以下内容:

改变 PostgreSQL 使用 pgAdmin 的视图

删除 PostgreSQL 观看数

要通过 pgAdmin 完成相同操作,请执行以下操作:

步骤1) 登录您的 pgAdmin 帐户。

步骤2)

  1. 从左侧导航栏中单击数据库。
  2. 单击“演示”。

删除 PostgreSQL 使用 pgAdmin 的视图

步骤3) 在查询编辑器中输入查询:

DROP VIEW Price_View2;

步骤4) 单击执行按钮。

删除 PostgreSQL 使用 pgAdmin 的视图

该视图将被删除。

总结

  • A PostgreSQL 视图是一个伪表,也就是说,它不是一个真正的表。
  • 可以从一个或多个表创建视图。
  • 创建视图的表称为基表。
  • 要创建视图,我们使用 CREATE OR REPLACE VIEW 语句。
  • 要改变视图的定义,我们使用 CREATE OR REPLACE VIEW 语句。
  • 要删除视图,我们使用 DROP VIEW 语句。

下载本教程使用的数据库