Wechat: yu389741| Email: gisdqy@163.com

Shop:https://www.giserdqy.com/shop

excel/csv导入postgresql


测试环境:
·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=#

转载自:https://blog.csdn.net/luckypeng/article/details/48393977