PostgreSQL Insert2025年3月17日 | 阅读 7 分钟 在本节中,我们将学习 PostgreSQL insert 命令和示例,使用 default 关键字插入日期,以及在 PostgreSQL pgAdmin 和 SQL shell (psql) 中将数据从一个表插入到另一个表。 在 PostgreSQL 中,INSERT 命令用于将新行插入到表中。 我们可以一次将单行或多行值插入到特定表中。 PostgreSQL Insert 命令的语法使用 default 值关键字插入单个记录如果我们使用 default 值关键字插入单个记录,则 INSERT 命令的语法 如下 使用子查询插入多个记录如果我们使用子查询插入多个记录,则 Insert 命令的语法 如下 下表显示了 insert 表语法中使用的参数或实参
注意
输出 下表显示了输出消息及其含义
PostgreSQL insert 命令我们可以通过两种方式执行 PostgreSQL insert 命令
使用 UI 的 PostgreSQL Insert 语句让我们举一个例子来看看如何在表中插入值。 这里,我们有一个名为 Student 的表。 示例 1:VALUES 关键字为了创建一个 PostgreSQL INSERT 命令来列出这些值,我们将使用 VALUES 关键字。 ![]() 为了在 Student 表中插入值,我们将按照以下步骤 步骤 1
![]() 步骤 2
![]() 步骤 3
PgAdmin4 中的 SQL 查询在下面的屏幕截图中,我们可以看到 pgAdmin4 中的上述命令 ![]() 表结构/输出执行 Insert 命令后,我们可以通过点击 view table 选项来查看 Student 表的输出,正如我们在下面的屏幕截图中看到的那样 ![]() 示例 2首先,我们将创建一个新表,以了解 PostgreSQL 中 insert 命令的用法。 注意:我们也可以参考下面的链接来在 PostgreSQL 中创建一个新表。现在,我们将借助以下命令创建一个 department 表 执行上述命令后,我们将收到以下消息,即已创建 department 表 ![]() 示例:在表中插入单行值以下命令用于将 dept_name, location 值插入到 department 表中 我们可以使用 SELECT 命令检查特定表中插入的行 输出 一旦我们执行上面的 select 命令,我们将得到下面的输出 ![]() 如果我们想插入字符数据,我们必须将其括在单引号 (') 中。 例如,'RESEARCH'. PostgreSQL 会重复为 serial 列 提供值;因此,不需要将值插入到 serial 列 中。 示例:使用子查询插入多行在这里,我们将使用子查询将各种行值插入到特定表中。 例如:在下面的命令中,我们将把 department 表的 dept_name, location 列中插入多行 一旦我们执行上述命令,我们将得到以下消息,即 dept_name 和 department 表的 location 列中已经插入了三个值 ![]() 我们可以借助 SELECT 命令检查特定表中插入的行 输出 一旦我们执行了上面的 select 命令,我们将得到下面的输出 ![]() 示例:使用 Default 关键字将日期插入到表中首先,我们将在 department 表中添加一个名为 last_update 的新列,并将其默认值设置为 current_date,正如我们在下面的命令中看到的那样 执行上述命令后,department 表被更改,并且已经创建了 last_column。 ![]() 以下命令用于插入一个新行,以便在 department 表中定义日期。 注意:在 PostgreSQL 中,日期格式为 YYYY-MM-DD。输出 执行上述命令后,我们将得到消息窗口 ![]() 为了设置 日期列 或任何其他列的 默认值,我们也可以使用 DEFAULT 关键字,正如我们在下面的命令中看到的那样 输出 执行上述命令后,我们将得到以下消息窗口,即特定值已插入到 department 表中 ![]() 为了检查 department 表中插入的记录,我们将使用 SELECT 命令 输出 执行上述命令后,我们将得到以下结果 ![]() 示例:从另一个表插入数据为了从另一个表插入数据,我们将按照以下步骤 步骤 1 首先,我们创建另一个名为 department_tmp 的表,该表具有与 department 表类似的表结构 执行上述命令后,已经创建了 department_tmp。 ![]() 步骤 2 一旦我们创建了该表,我们将插入 department 表中的行,该行的 date 列 的值不是 NULL: 输出 执行上述命令后,我们将得到以下消息窗口,显示已成功插入特定值。 ![]() 步骤 3 之后,我们将使用 SELECT 命令从 department_tmp 表中检查插入操作 输出 在执行上述命令后,我们将获得以下输出 如果我们想从 department 表中 获取最后插入的 dept_id,我们将按照以下流程 一旦我们在 insert 命令 中插入了新行,我们将使用 RETURNING 子句,它是 SQL 的 PostgreSQL 扩展。 以下命令将新行插入到 department 表中,并返回最后插入的 Dept_id: 输出 一旦我们执行了上述命令,我们将得到 Dept_id=7。 ![]() 之后,我们将使用 Select 命令来检查 dept_id 是否正确。 输出 一旦我们执行了 Select 命令,我们就可以看到,一旦我们创建了 customer 表,我们将借助以下命令在 Customer 表中插入一行:Dept_id 与 department 表中最后插入的 Dept_ id 匹配。 ![]() 使用 psql 的 PostgreSQL Insert 命令在 SQL shell(psql) 中,我们将首先借助以下命令在 javatpoint 数据库 中创建一个名为 Customer table 的表 一旦我们创建了 customer 表,我们将借助以下命令在 Customer 表中插入一行 之后,我们将在特定表中插入多行,正如我们在下面的命令中看到的那样 我们将使用 SELECT 命令来检查上述值是否已插入到 Customer 表 中。 输出 在执行上述命令后,我们将获得以下输出 ![]() 下一个主题PostgreSQL Select |
我们请求您订阅我们的新闻通讯以获取最新更新。