如何将postgresql数据库表内数据导出为excel格式(推荐)

在上篇文章给大家介绍了 感兴趣的朋友点击查看。

本文主要用于介绍如何使用copy或者\copy命令将postgresql数据库内表的数据导出为excel格式,方便用户查看编辑。

copy命令同\copy命令语法上相同,区别在于copy必须使用能够超级用户使用,copy … to file 中的文件都是数据库服务器所在的服务器上的文件,而\copy 一般用户即可执行且\copy 保存或者读取的文件是在客户端所在的服务器。本文主要以copy命令作为介绍重点,使用copy命令将表内数据倒为csv格式文件即为excel格式。
1、copy命令语法

copy { 表名 [ ( 列名称 [, ...] ) ] | ( 查询 ) } 
to { '文件名' | program '命令' | stdout } 
 [ [ with ] ( 选项 [, ...] ) ]

选项可以是下列内容之一
 format 格式_名称 
 freeze [ 布尔 ] 
 delimiter '分隔字符' 
 null '空字符串' 
 header [ 布尔 ] 
 quote '引用字符' 
 escape '转义字符' 
 force_quote { ( 列名称 [, ...] ) | * } 
 force_not_null ( 列名称 [, ...] ) 
 force_null ( 列名称 [, ...] ) 
 encoding 'encoding_name(编码名)'

2、多场景使用介绍
①查看现有表数据

test=# select * from test;
user_id | user_name | age | gender |     remark     
---------+---------------+-----+--------+----------------------------------------------
  1 | jackie chan | 45 | male | "police story","project a","rush hour"
  3 | brigitte li | 46 | female | 
  4 | maggie cheung | 39 | female | 
  5 | jet li  | 41 | male | "fist of legend","once upon a time in china"
  2 | gong li  | 38 | female | "farewell my concubine","lifetimes living"
(5 行记录)

②带列名导出,默认情况下使用,作为分隔符

test=# copy test to '/tmp/test1.csv' with csv header;
copy 5
test=# \! cat /tmp/test1.csv
user_id,user_name,age,gender,remark
1,jackie chan,45,male,"""police story"",""project a"",""rush hour"""
3,brigitte li,46,female,
4,maggie cheung,39,female,
5,jet li,41,male,"""fist of legend"",""once upon a time in china"""
2,gong li,38,female,"""farewell my concubine"",""lifetimes living"

③带列名导出,指定使用|作为分隔符

test=# copy test to '/tmp/test1.csv' with csv header delimiter '|';
copy 5
test=# \! cat /tmp/test1.csv
user_id|user_name|age|gender|remark
1|jackie chan|45|male|"""police story"",""project a"",""rush hour"""
3|brigitte li|46|female|
4|maggie cheung|39|female|
5|jet li|41|male|"""fist of legend"",""once upon a time in china"""
2|gong li|38|female|"""farewell my concubine"",""lifetimes living"

④带列名导出,将空字符替换为指定值导出

test=# copy test to '/tmp/test1.csv' with csv header null 'to be supplemented';
copy 5
test=# \! cat /tmp/test1.csv
user_id,user_name,age,gender,remark
1,jackie chan,45,male,"""police story"",""project a"",""rush hour"""
3,brigitte li,46,female,to be supplemented
4,maggie cheung,39,female,to be supplemented
5,jet li,41,male,"""fist of legend"",""once upon a time in china"""
2,gong li,38,female,"""farewell my concubine"",""lifetimes living"

到此这篇关于如何将postgresql数据库表内数据导出为excel格式的文章就介绍到这了,更多相关postgresq表内数据导出excel格式内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐