PostgreSQL教程

PostgreSQL 临时表

在本节中,我们将了解 PostgreSQL临时表的工作方式以及如何创建和删除它。

如何创建PostgreSQL临时表

临时表是简要表;它的名字意味着它在数据库会话时显示。 PostgreSQL在操作或会话结束时自动删除临时表。
PostgreSQL临时表
在这里,我们将使用 CREATE TEMPORARY TABLE (创建临时表)命令来创建临时表。
语法
以下语法用于在 PostgreSQL 中创建临时表:
CREATE TEMPORARY TABLE temp_table_name(...);
Or
除了使用上述语法中的 TEMPORARY 关键字,我们还可以使用 TEMP 关键字。
Create Temp Table temp_table_Name(...);

PostgreSQL临时表的示例

让我们看一些示例来实时了解临时表的工作。
在这里,我们是在 SQL Shell(psql)中创建 临时表。因此,为此,我们将按照以下过程进行操作:
首先,使用 psql 登录到PostgreSQL数据库服务器,并以 创建一个新数据库。 Jtp 借助以下命令:
CREATE DATABASE jtp;
输出
执行上述命令后,我们将获得以下输出,该输出表示 jtp 数据库已成功创建。
PostgreSQL临时表
查看所有已创建数据库的列表之前,我们将输入以下命令:
\l  
输出
执行上述命令后,我们得到以下结果:
PostgreSQL临时表
要连接到数据库,我们将输入以下命令:
\c jtp
输出
执行上述命令后,我们得到以下结果:
PostgreSQL临时表
创建新数据库后,将在以下帮助下创建名为 jti1 的临时表命令:
jtp=# create temp table jti1(name varchar);
输出
一旦执行上述命令,我们将得到以下结果:
PostgreSQL临时表
此后,我们将使用SELECT命令选择 jti1 表,如下所示:
jtp=# select * from jti1;
输出
执行上述命令后,我们将得到以下结果:
PostgreSQL临时表
然后,我们将关闭上面的会话并启动另一个连接到 jtp 数据库的会话并查询 jti1 表中的数据,如下面的命令所示:
jtp=# select * from jti1;
输出
执行上述命令后,我们将得到以下结果:
PostgreSQL临时表
我们看到,在本次会议中,我们看不到 jti1 表,因为只有第一个会话可以访问它。
然后我们将在以下命令的帮助下退出所有会话:
jtp=# \q
输出
执行完上述命令后,我们必须按任意键退出psql窗口:
PostgreSQL临时表
此后,我们将再次登录数据库服务器并从jti1表中获取数据:
test=# SELECT * FROM jti1;
输出
执行上述命令后,我们将获得以下输出,其中PostgreSQL发布错误为 jti1 表不存在。会话结束后,它会自动删除。
PostgreSQL临时表

PostgreSQL临时表名称

临时表可以与永久表共享类似的名称,但不是必需的。或者,如果我们创建的 临时表的名称与 永久表相似,则在删除临时表之前,我们无法检索永久表。
例如
在这里,首先,我们将通过以下命令创建一个名为的表:
Jtp=# CREATE TABLE fruits (fruits_name  VARCHAR PRIMARY KEY,  fruits_season VARCHAR NOT null);
输出
一旦执行了上面的命令,我们将获得以下消息窗口; 水果 表已成功创建。
PostgreSQL临时表
此后,我们将创建一个 临时表,该表的名称与 水果 相似。
jtp=# create temporary table fruits ( fruits_name varchar);
输出
如下面的图片所示,临时表 水果 已成功创建。
PostgreSQL临时表
两个表均成功创建后,我们将选择 <使用 水果 表中获得strong> 记录 postgresql-select"> SELECT命令:
jtp=# select * from fruits;
输出
执行上述命令后,我们将获得以下结果,我们可以看到PostgreSQL检索了 temporary 表 <而不是 永久。
PostgreSQL临时表
当临时表 水果 被明确删除时,我们只能拥有永久的 水果 表中的现有会话。
注意: 我们可能无法在CREATE TEMP TABLE命令中定义架构,因为PostgreSQL在特定架构中创建了临时表。
如果我们在 Jtp 数据库中 列出表,我们只会看到临时表的结果,而不是使用以下命令的永久版本:
jtp=# \dt
输出
如下面的结果所示, 水果 临时表的模式为 pg_temp_3
PostgreSQL临时表

如何删除PostgreSQL临时表

在这里,我们要使用 Drop table 命令删除该临时表。
删除PostgreSQL临时表
以下语法用于删除PostgreSQL中的临时表:
DROP TABLE temp_table_name;
创建表命令相比,DROP TABLE命令的 TEMP或TEMPORARY 关键字概念不完全适合 临时表 strong>。
让我们看一个 示例来了解删除临时表的工作。
在这里,我们将删除临时表 在上面的示例中使用以下命令创建的 fruits :
jtp=# drop table fruits;
输出
执行上述命令后,我们将得到以下消息: fruits 表具有已成功删除。
PostgreSQL临时表
如果我们 列出表使用以下命令再次在 jtp 数据库中:
jtp=# \d
输出
一旦执行了上述命令,它将在该表中显示永久表 fruits 列表:
PostgreSQL临时表
概述
我们已经了解了临时表 我们通过 CREATE TEMP TABLE (创建温度表)命令创建临时温度。 删除临时表,我们使用 DROP TABLE 命令。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4