1. ホーム
  2. データベース
  3. ポストグレスキュー

PostgresqlのデータベーステーブルのデータをExcel形式にエクスポートする方法(推奨)

2022-01-10 20:49:49

前回の記事で紹介したのは PostgresqlのデータベースのテーブルデータをExcel形式にエクスポートする方法(推奨)  ご興味のある方はクリックしてご覧ください。

この記事では、postgresqlデータベースのテーブルのデータを、見やすく編集しやすいようにcopyコマンドや୧⃛(๑⃙⃘◡̈๑⃙⃘)

copyコマンドは、構文的には୧⃛(๑⃙⃘◡̈︎๑⃙⃘) 今回は主にcopyコマンドを入門編として、copyコマンドを使用してテーブルデータをエクセル形式のcsvファイルにダンプしてみます。
1. コピーコマンドの構文

COPY { table name [ ( column name [, ...] ] ) ] | ( query ) } 
TO { 'filename' | PROGRAM 'command' | STDOUT } 
 [ [ WITH ] ( options [, ...] ] ) ]

Options can be one of the following
 FORMAT format_name 
 FREEZE [ Boolean ] 
 DELIMITER 'separator character' 
 NULL 'empty string' 
 HEADER [ Boolean ] 
 QUOTE 'quote character' 
 ESCAPE 'escape character' 
 FORCE_QUOTE { ( column name [, ...] ) ) | * } 
 FORCE_NOT_NULL ( column name [, ...] ) ) 
 FORCE_NULL ( column name [, ...] ) ) 
 ENCODING 'encoding_name(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 lines of transcript)

デフォルトで使用されるカラム名をセパレータとしてエクスポートします。

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"""" quot;
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"

(iii) セパレータに|を指定し、列名で書き出す。

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""& quot;
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"

カラム名を指定してエクスポートし、NULL文字を指定した値に置き換えます。

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""" quot;
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形式の内容は、スクリプトの家の前の記事を検索してくださいまたは次の関連記事を閲覧し続けるあなたは、将来的に多くのスクリプトハウスをサポートします願っています