ホーム DoRuby MySQLの出力結果をファイルに出力
 

MySQLの出力結果をファイルに出力

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

業務上、UT、IT等でデータベース値とテストシナリオ期待値を見比べる機会があり、
MySQLクライアントで値を見るのに手間を感じ、MySQLの結果をファイル出力出来ないか調べました。

MySQLの出力結果をファイルにはきだしたいとき

mysql> SELECT * FROM [table] INTO OUTFILE "[file]" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '[クォート文字]';

ただし、この方法で指定するCSVファイルの出力パスは、
DBサーバー側のファイルパスを指しています。
そのため、サーバーとクライアントのホストが異なる場合は、
クライアントホストのファイルパスを探しても、CSVファイルは出力されていません。

CSVファイルに出力するコマンド

MySQLクライアント使わない方法もありました。

mysql -u [ユーザー名] -p -h [DBサーバーホスト名] [DB名] -e "`[実行SQL]`" | sed -e 's/\t/,/g' > [出力CSVファイルパス]

このコマンドで、リモートDBの結果をローカルCSVファイルに出力できます。

記事を共有
モバイルバージョンを終了