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