PostgreSQL 视图17 Mar 2025 | 6 分钟阅读 在本节中,我们将了解 PostgreSQL 视图 的工作原理,例如 如何创建 PostgreSQL 视图、更改 PostgreSQL 视图、修改 PostgreSQL 视图 和 删除 PostgreSQL 视图。 PostgreSQL 视图简介视图是 PostgreSQL 中的一个伪表;它不是一个实体表,但看起来像一个普通的表进行选择。视图也可以表示连接表。它可能包含表的所有行或来自一个或多个表的选定行。 视图简化了用户执行以下方面的工作
在 PostgreSQL 中,我们可以在 SQL shell (psql) 中执行视图的所有活动 使用 SQL shell (PSQL) 的 PostgreSQL 视图 在此,我们将使用 SQL shell (psql) 创建视图、更改视图和删除视图。 因此,为此,我们需要遵循以下过程 创建 PostgreSQL 视图要创建 PostgreSQL 视图,我们使用 CREATE VIEW 命令。 语法 Create view 命令的语法如下 在上面的语法中,我们有以下参数
要在 psql 中创建视图,我们将遵循以下步骤 步骤 1 首先,我们将在我们的本地系统中打开 psql,我们将提供密码并登录到 psql。 ![]() 步骤 2 现在,我们将使用以下命令选择或连接所需的数据库 (javatpoint)。 一旦我们执行了上述命令,我们将连接到 javatpoint 数据库,如下图所示 ![]() 步骤 3 我们将使用在 PostgreSQL 教程的前面部分中创建的 Book 表。 要查看 Book 表中存在的所有列,我们将使用 select 命令,如下所示 ![]() 步骤 4 现在,我们准备好使用 CREATE VIEW 命令 借助 Book 表来 创建视图,如下所示 输出 一旦我们执行了上述命令,我们将收到以下消息,表明 book_view 已成功创建。 ![]() 步骤 5 之后,我们将使用 Select 命令来检查 book_view 中记录的价值是否高于 200。 输出 执行上述命令后,我们将获得 book_cost 大于 200 的那些记录。 ![]() 虽然 Book 表有 四 条记录,但在这里,我们将获得 三条记录,这些记录已添加到特定视图中。 我们正在创建一个视图,该视图仅包含 Book 表的一列,借助以下命令 输出 执行上述命令后,我们将收到以下消息,表明 book_view2 已成功创建。 ![]() book_view2 仅包含 Book 表中的 Book_cost 列。 在这里,我们将使用 Select 命令来查看 book_view2 视图的数据 输出 执行上述命令后,我们将获得成本大于 225 的那些记录。 ![]() 更改 PostgreSQL 视图要在 psql 中更改 PostgreSQL 视图,我们将使用 CREATE OR REPLACE VIEW 命令,因为视图的定义可以在不删除它的情况下进行修改。 更改 PostgreSQL 视图的语法 更改 PostgreSQL 视图的语法如下 注意:PostgreSQL 9.4 之前的版本不支持删除视图中剩余的列。 如果我们需要执行它,我们将收到以下错误消息 “[Err] ERROR: 无法从视图中删除列”。 这就是为什么查询必须创建与创建视图时创建的列相似的列。详细来说,新列需要相似的数据类型、相似的名称和与它们生成时相似的顺序。 但 PostgreSQL 允许我们在列列表的末尾添加更多列。 所以,为此,我们需要 三个表 Book、User1 和 book_view2 来更改 PostgreSQL 视图。 我们将使用 SELECT 命令来检查 Book、User1 和 book_view2 表中存在的记录。 借助 select 命令,Book_view2 表如下 ![]() 借助 Select 命令,Book 表如下 ![]() 我们可以借助 Select 命令查看 User1 表中现有的数据 ![]() 例如,在以下命令中,我们将使用 Create or Replace view 命令 来更新视图 book_view2 输出 执行上述命令后,我们将收到以下消息窗口,显示 book_view2 已成功创建。 ![]() 现在,我们将使用 Select 命令来检查该操作在执行上述命令后是否正常工作 输出 一旦我们执行了上述命令,我们将获得以下结果,我们可以在其中看到视图已更改,因为我们使用了 JOIN 命令,现在我们有两个来自两个不同表的列。 ![]() 修改 PostgreSQL 视图要更改视图的定义,我们使用 ALTER VIEW 命令。 例如,我们可以使用以下语句将视图的名称从 book_view2 修改为 book_info 输出 一旦我们执行了上述命令,我们将收到以下消息窗口,显示 book_view2 已成功修改。 ![]() 如果我们从 book_view2 中选择数据,我们将收到以下 错误,正如我们可以在下面的屏幕截图中看到的那样 ![]() 删除 PostgreSQL 视图要删除 PostgreSQL 视图,我们可以使用 DROP VIEW 命令。 语法 drop view 命令的语法如下 在上面的语法中,我们有以下参数
在这里,我们删除在上述部分使用 drop view 命令创建的 book_info 输出 执行上述命令后,我们将收到以下消息,显示该特定视图已成功删除。 ![]() 下一主题PostgreSQL Join |
我们请求您订阅我们的新闻通讯以获取最新更新。