MySQLのSELECT文の結果を、csvファイルにエクスポート

2021-07-02

MySQLでselect文をCSVにエクスポート

MySQLのテーブルをCSVファイルにエクスポートするのは、phpmyadminでできますが、select文を作ってその結果をCSVエクスポートするのはできませんでした。CSVファイルをエクスポートするには下記のようなSQLを発行します

mysqL>
SELECT * FROM table_name
INTO OUTFILE '/var/tmp/test_table.csv'
  FIELDS TERMINATED BY ','
  OPTIONALLY ENCLOSED BY '"';

「SELECT * FROM table_name」 の結果を「/var/tmp/test_table.csv」に出力しています。
「FIELDS TERMINATED BY ',’」でカンマで区切り、
「OPTIONALLY ENCLOSED BY '"'」囲み文字のダブルコーテーションに指定しています

エクスポートする、CSVファイルにヘッダー情報をつける

CSVファイルにエクスポートできますが、このCSVファイルにはヘッダー情報がありません。
ヘッダー情報をつけるには、UNIONでヘッダー情報をつけます

mysql >
SELECT 'code', 'name', 'price' union
SELECT * FROM table_name
FROM item
INTO OUTFILE '/var/tmp/item.csv'
  FIELDS TERMINATED BY ','
  OPTIONALLY ENCLOSED BY '"';

 

Linuxmariadb,MySQL

Posted by admin