Skip to content

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命令的更多信息。