在上篇文章给大家介绍了 感兴趣的朋友点击查看。
本文主要用于介绍如何使用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!