从excel导入数据至PostgreSQL数据库


COPY在PostgreSQL表和标准文件系统文件之间交换数据。COPY……TO把一个表的所有内容都拷贝到一个文件,而COPY……FROM从一个文件里拷贝数据到一个表里(把数据附加到表中已经存在的内容里)。

COPY 表名 TO '文件名.csv' CSV HEADER;



1、将excel文件转换为csv格式,方法如下:

      文件-->另存为-->其他格式,保存类型下拉框中选择CSV格式。


2、psql连接PostgreSQL数据库:

      psql -h 127.0.0.1 -p 5432 -d postgres -U postgres


3、设置psql客户端编码格式(中文问题):

      查看psql客户端当前编码格式,命令:show client_encoding;

      如果编码格式不是GBK,设为GBK,命令:set client_encoding='GBK';

4、执行copy命令:

      copy t_test(name) from 'D:\\t_test.csv' with csv;

 



导出:

 copy new_table to '/tmp/vehicles_2.csv' csv header;

返回结果:

COPY 4260

注:CSV,打开逗号分隔变量(CSV)模式。


HEADER,声明文件包含一个头标识行,包含文件中每个字段的名字。输出时,第一行包含表的字段名,输入时,第一行被忽略。

带文件名的 COPY指示 PostgreSQL服务器直接从文件中读写数据。如果声明了文件名,那么该文件必须为服务器可见,而且文件名必须从服务器的角度声明。如果声明的是STDIN或STDOUT,数据通过连接在客户前端和服务器之间流动。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM