问题报告 纠错本页面

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