测试环境:
·windows 7
·postgre 9.1
很多时候我们需要将excel中的数据导入数据库中,本例中我们将excel导入postgre。步骤如下:
·将excel处理好后,另存为csv(Comma Delimited).
·运行SQL shell(psql)
·运行'COPY mytable FROM '/myfile.csv' WITH CSV HEADER;
postgre数据库中的表vender,创建表的语句如下:
CREATE TABLE vender
(
sid numeric(15,0) NOT NULL , -- 唯一序列号
vender_id character varying(12) NOT NULL, -- Vender编号
vender_name character varying(128), -- Vender名称 小于32个字符
connector character varying(50), -- 联系人
phone character varying(20), -- 联系电话
email character varying(128), -- 邮件
industry character varying(32), -- 行业
created_by character varying(32) NOT NULL, -- 创建者
created_dt timestamp without time zone NOT NULL, -- 创建时间
version numeric(9,0) NOT NULL DEFAULT 1, -- 版本号
updated_by character varying(32), -- 更新者
updated_dt timestamp without time zone, -- 更新时间
del_flg numeric(1,0) NOT NULL -- 删除标志 0:有效、1:无效
)
注意其中的NOT NULL字段。
·将excel处理好后,另存为csv(Comma Delimited).
·以下是excel中需要导入的数据,我们将它另存为csv(comma delimited),保存到E:\Vendor.csv ,注意表头和要导入的表中的字段对应。
sid | vender_id | vender_name | connector | created_by | created_dt | version | del_flg |
1100 | V20000001 | AA | Boooo | admin | 2012-06-28 | 1 | 0 |
1101 | V20000002 | BB | HAOOOO | admin | 2012-06-29 | 1 | 0 |
·运行SQL shell(psql)
·通过“开始—程序—postgreSQL9.1–SQL shell(psql)” 打开psql。
·运行'COPY mytable FROM '/myfile.csv' WITH CSV HEADER;
执行postgre的copy命令:
postgres=# COPY vender(sid,vender_id,vender_name,connector,created_by,created_dt,version,del_flg)
from 'E:\Vendor.csv' WITH CSV HEADER;
运行结果:成功导入63条记录
COPY 63
postgres=#