2.4. 用行填充表

INSERT语句用于用行填充表:

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

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

point类型需要 Importing 一个坐标对,如下所示:

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

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

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

如果希望,甚至可以省略一些列,例如,如果降水未知,则可以按不同的 Sequences 列出这些列:

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

许多开发人员认为显式列出列要比隐式依赖 Sequences 更好。

请 Importing 上面显示的所有命令,以便在以下各节中使用一些数据。

您还可以使用COPY从纯文本文件中加载大量数据。这通常会更快,因为COPY命令针对该应用程序进行了优化,而灵 Active 却比INSERT小。一个例子是:

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

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