awakenedy

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,数据通过连接在客户前端和服务器之间流动。

分类:

技术点:

相关文章:

  • 2022-02-24
  • 2021-11-23
  • 2021-06-15
  • 2021-11-20
  • 2021-11-20
  • 2021-12-12
  • 2021-11-23
猜你喜欢
  • 2021-11-02
  • 2021-12-24
  • 2021-05-06
  • 2021-11-15
  • 2021-11-19
相关资源
相似解决方案