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