选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.0 已于 2015 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

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

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。