skillup

技術ブログ

Database

mysqlデータのCSV出力

投稿日:2015年7月8日 更新日:

ガチンコ塾のブログでもかいたのですが、行動力が大切だなーと思う今日この頃。

社長が熟練のJavaエンジニアで基本的に聞けば、基本的に解決することが多いのですが、外部の勉強会などにも出て情報収集の必要性があるなーと思っております。

んで、本日まとめたいのはテーブルのCSVエクスポート処理です。

通常のCSV出力

DB環境がローカルにある場合は下記コマンド一発で終了です。

SELECT * INTO OUTFILE ‘CSVのファイルパス’ FIELDS TERMINATED BY ‘,’ FROM テーブル名

基本的には通常のSELECT文と同じです、ただINTO~の部分がつくだけといったかんじです。

リモートDBのCSV出力

リモートだとこうはいきません。

その場合、mysql のオプションである-eを使うことになります。

CSV出力用のsqlを作成

CSVの結果を出力するためのSQLを作成します。

例えばフィールドがid,nameだとして下記のようにします。

この時点で下記のようなコマンドになり、CSV形式でデータを出すことはできます。

sedで整形

MySQLは標準ではタブ区切りでしか、ファイルを出力できないので、あとはこれを置換してやります。

タブをカンマ区切りにするためにsedを使います。

これを一気に組み合わせると、下記のようになります。

ちなみにここを参考にしました。

MySQLリモートDBの結果をローカルCSVファイルに出力する方法

やっぱりテキスト処理系の技術(sedなど)は偉大ですねー。

もうちょい勉強せねば・・・

-Database
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

CakePHPでの数字カンマ区切り&PHP&MySQL曜日の出力

今回は主に時間やお金の表示など、出力に関するネタです。 Contents1 Cakeでのカンマ区切り1.1 単純なカンマ区切り 例1,0001.2 \をつけるケース 例 \1,0001.3 円をつける …

no image

sourceコマンドに関して(Linuxサーバー&MySQL)

Linux上ではコマンドをテキストファイルに記述して、

と入力すると命令を実行してくれます。 シェルスクリプトよりもお手軽に実行できる …

no image

SQLのチューニングに関して

ここ2か月ぐらいはSQLの本でがりがり勉強してきましたね。当然復習も必要かと思いますが、だいぶいろんなことを覚えたなあという気がします。 一番勉強になった本はもちろん「達人に学ぶ SQL徹底指南書」と …

no image

SQL サブクエリ

前回の問題をサブクエリを使って解きます。前年度の売上を出すのが一番難しいので、それを出す方法です。MySQLだとそもそも分析関数が存在しないので・・ [crayon-617625de2f3904104 …

no image

集合としてのSQL その2

本日も前回に引き続き集合としてのSQLに入っていきます。 Contents1 完全一致のテーブル2 重複行の削除 完全一致のテーブル 下記のようなテーブル(supparts)があり、持っている部品が完 …