2024年9月26日: PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不受支持的版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2

2.4. 使用行填充表 #

INSERT 语句用于使用行填充表。

INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');

请注意,所有数据类型都使用相当明显的输入格式。不是简单数值的常量通常必须用单引号 (') 括起来,如示例所示。date 类型实际上在其接受的内容方面非常灵活,但对于本教程,我们将坚持使用此处显示的明确格式。

point 类型需要坐标对作为输入,如下所示。

INSERT INTO cities VALUES ('San Francisco', '(-194.0, 53.0)');

到目前为止使用的语法要求您记住列的顺序。另一种语法允许您显式列出列。

INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)
    VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');

如果愿意,您可以按不同的顺序列出列,甚至可以省略某些列,例如,如果降水量未知。

INSERT INTO weather (date, city, temp_hi, temp_lo)
    VALUES ('1994-11-29', 'Hayward', 54, 37);

许多开发人员认为显式列出列比隐式依赖于顺序更好。

请输入上面显示的所有命令,以便您在以下部分中有一些数据可以使用。

您也可以使用 COPY 从平面文本文件加载大量数据。这通常更快,因为 COPY 命令针对此应用程序进行了优化,同时允许的灵活性低于 INSERT。一个示例是

COPY weather FROM '/home/user/weather.txt';

其中源文件的名称必须在运行后端进程的机器上可用,而不是客户端,因为后端进程直接读取文件。您可以在 COPY 中阅读有关 COPY 命令的更多信息。

提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步澄清,请使用 此表单 报告文档问题。