暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL入门-向表中插入数据

FortuneXu 2025-10-12
114

摘要: 在本教程中,你将学习如何使用 PostgreSQLINSERT 语句向表中插入一行或多行数据。

PostgreSQL INSERT 语句简介

创建表后,您可以向其中插入一行或多行数据。您可以使用 PostgreSQLINSERT 语句向表中插入新行。

以下是 INSERT 语句的基本语法:

INSERT INTO table_name(column1, column2, ...) VALUES(value1, value2, ...);

在此语法中:

  • INSERT INTO 是指示 PostgreSQL 向表中插入新行的关键字。
  • table_name 是你想要添加数据的表的名称。
  • 在表名之后,在括号 () 内指定一个以逗号分隔的列列表。
  • VALUES 是一个关键字,用于告知 PostgreSQL 你想要添加到表中的数据。
  • VALUES 关键字后,在一组括号内指定与列对应的、以逗号分隔的值列表。

语句末尾的分号 (;) 是可选的。当你有两个语句且想要分隔它们时,分号会很有用。

向表中插入一行示例

假设你有一个名为 inventories 的表:

CREATE TABLE IF NOT EXISTS inventories ( name VARCHAR(255), brand VARCHAR(50), quantity INT, price DECIMAL(19, 2) );

以下示例使用 INSERT 语句向 inventories 表中插入新行:

INSERT INTO inventories (name, brand, quantity, price) VALUES ('iPhone 14 Pro', 'Apple', 10, 999.99);

请注意,表名后列出的列的顺序并不重要。你可以随意更改列的顺序。例如:

INSERT INTO inventories (brand, name, quantity, price)

但你还需要更改值的顺序,以使其与列匹配:

VALUES ('Apple', 'iPhone 14 Pro', 10, 999.99);

在这个示例中,我们交换了 name 列和 brand 列的顺序,以及 iPhone 14 ProApple 的顺序。

向表中插入多行示例

PostgreSQL 允许您使用以下语法一次向表中插入多行:

INSERT INTO table_name(column1, column2, ...) VALUES      (value11, value12, ...),      (value21, value22, ...),      (value31, value32, ..),      ...;

在这种语法中,你不是在 VALUES 子句中指定一行数据,而是提供多行数据。

例如,以下语句向 inventories 表中插入两行数据:

INSERT INTO inventories (name, brand, quantity, price) VALUES ('Galaxy S23 Ultra', 'Samsung', 15, 1199.99), ('Pixel 7 Pro', 'Google', 8, 899.99);

返回插入的行

要返回插入的行,需在 INSERT 语句中添加 RETURNING 子句:

INSERT INTO table_name(column1, column2, ...) VALUES(value1, value2, ...) RETURNING *;

星号 * 表示返回插入行的所有列。要选择要返回的列,可以在RETURNING子句中指定列名:

INSERT INTO table_name(column1, column2, ...) VALUES(value1, value2, ...) RETURNING column1, column2;

在这个示例中,我们返回插入行的 column1column2

以下示例向 inventory 表中插入一行新数据,并返回插入的行:

INSERT INTO inventories (name, brand, quantity, price) VALUES ('Xperia 1 IV', 'Sony', 7, 1299.99) RETURNING *;

输出:

name | brand | quantity | price -------------+-------+----------+--------- Xperia 1 IV | Sony | 7 | 1299.99

摘要

  • 使用 INSERT 语句向表中插入一行或多行数据。
  • 使用 RETURNING 子句返回插入的行。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论