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 条件是选项,必须满足这些条件才能将任何记录添加到视图中。
考虑下面给出的价格表:
价格:
让我们从上表创建一个视图:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
上述命令将根据以下内容创建一个视图 选择语句。只有价格大于 200 的记录才会添加到视图中。该视图的名称为 Price_View。让我们查询它以查看其内容:
SELECT * FROM Price_View;
这将返回以下内容:
尽管基表有 4 条记录,但只有 2 条记录被添加到视图中。
这里,我们只能向视图添加一列。让我们创建一个仅包含 Price 表一列的视图:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
该视图被命名为 Price_View2,并且仅包含 Price 表的价格列。让我们查询该视图以查看其内容:
SELECT * FROM Price_View2;
这将返回以下内容:
改变 PostgreSQL 观看数
无需删除视图即可更改其定义。这可以使用 CREATE OR REPLACE VIEW 语句完成。
让我们通过更新名为 Price_View2 的视图来演示这一点。
价格视图2:
Book 表如下:
书:
价格表如下:
价格:
以下查询将帮助我们更新视图 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;
现在让我们查询视图来查看其内容:
视图已更改,现在我们有来自两个不同表的两列。这是使用 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)
- 从左侧导航栏中单击数据库。
- 单击“演示”。
步骤3) 在查询编辑器中输入查询:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
步骤4) 单击执行按钮。
步骤5)要查看视图的内容,请执行以下操作:
- 在查询编辑器中键入以下命令:
- 单击执行按钮。
SELECT * FROM Price_View;
这将返回以下内容:
要创建视图 Price_View2,请执行以下操作:
步骤1) 在查询编辑器中键入以下查询:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
步骤2)单击“执行”按钮。
步骤3) 要查看视图的内容,请执行以下操作:
- 在查询编辑器中键入以下查询:
- 单击执行按钮。
SELECT * FROM Price_View2;
这将返回以下内容:
改变 PostgreSQL 观看数
要通过 pgAdmin 完成相同操作,请执行以下操作:
步骤1) 登录您的 pgAdmin 帐户。
步骤2)
- 从左侧导航栏中单击数据库。
- 单击“演示”。
步骤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) 单击执行按钮。
步骤5) 在查询编辑器中键入以下查询:
SELECT * FROM Price_View2;
这将返回以下内容:
删除 PostgreSQL 观看数
要通过 pgAdmin 完成相同操作,请执行以下操作:
步骤1) 登录您的 pgAdmin 帐户。
步骤2)
- 从左侧导航栏中单击数据库。
- 单击“演示”。
步骤3) 在查询编辑器中输入查询:
DROP VIEW Price_View2;
步骤4) 单击执行按钮。
该视图将被删除。
总结
- A PostgreSQL 视图是一个伪表,也就是说,它不是一个真正的表。
- 可以从一个或多个表创建视图。
- 创建视图的表称为基表。
- 要创建视图,我们使用 CREATE OR REPLACE VIEW 语句。
- 要改变视图的定义,我们使用 CREATE OR REPLACE VIEW 语句。
- 要删除视图,我们使用 DROP VIEW 语句。