支持的版本: 当前 (17) / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 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 命令的更多信息。

提交更正

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