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

自己結合に関して

以前もこのエントリーで学習しましたが、SQLの結合では自己結合という考え方があります。 下記のようなテーブルProductsがあるとします。 name | price ——&# …

no image

O/Rマッパー iciqlについて

以前、このブログでも紹介したO/Rマッパーのiciqlについて、使い方や問題点がある程度わかったので書いておきます。 Contents1 インストール2 自動生成3 注意点3.1 Date型のインポー …

no image

mavenのリモートリポジトリについて

JPAでO/Rマッパーに慣れてからというもの通常のSQLをごりごり書くのが億劫になってきました。 億劫というかいろいろとリスクがありますね。 問題点としてはコンパイルするときにエラーが検知できなかった …

no image

SQL結合 サブクエリに関して

今回はサブクエリに関してです。 もちろんSQL実践入門を読み進めています。 SQL上ではテーブル、ビュー、サブクエリというのは機能的にはそれほど変わらず主にパフォーマンスの点で違いがでてきます。 以下 …

no image

EXISTSについて

今回はEXISTSについてです。 実務では伝票と明細との検索関連の処理で結構出てきます。 なお、達人に学ぶ~では論理学について少しふれており、この領域を本気で理解する場合は論理学を勉強する必要がありま …