CSVファイルへダンプ(Windows用)

mysqldumpで、テーブルをCSVファイルへダンプするコマンドを解説する。Windows用。

コマンド

コマンドは下記のとおりである。

具体例

少し具体的に書こう。DB情報等が下記であったとする。

項目
DBユーザ名 pudding
DBパスワード qwerty123456
DB名 zipcode
Table名 t_price
(ダンプファイル名) t_price.csv
(ディレクトリパス) c:\temp\

このDB情報等を反映すると、下記のように書くことになる。

ここで注意すべき点がある。

で記述する出力先フォルダの記述では、フォルダパスの区切り文字は \ ではなく / であるということだ。ハマりやすいので頭に叩き込んでおくこと。

出力されるsqlファイル

csvへのダンプの場合、ファイルは2つ出力される。csvファイルと、sqlファイルだ。SQLファイルには、通常のデータではなく、テーブルのcreate文が出力される。上記の例だと、下記の2ファイルが出力されることになる。

  • t_price.csv
  • t_price.sql

CSVファイル

それぞれのファイルの中身を見ていこう。まずはCSVファイル。下記のように出力される。

SQLファイル

SQLファイルには、テーブルのcreate文が出力される。下記の通りだ。create文以外にも色々と出力されているが、初心者の人は気にしなくて良い。

CSVファイルのカスタマイズ

上記の例だとCSVファイルの区切り文字はカンマだが、カスタマイズが可能だ。 –fields-terminated-by= のあとに、区切り文字にしたい文字を入れれば良い。例えば、コロン区切りにしたい場合のコマンドは以下のとおりだ。

上記コマンドで出力されるCSVファイルは以下のようになる。

用途

用途としては、データをExcelなどで加工したい場合などに使うと良さそうだ。

CSVファイルで出力

レンタルサーバ使用時の注意

多くのレンタルサーバの場合、この手法は使えない。

多くのレンタルサーバでは、アプリケーションサーバとDBサーバは物理的に分離されているため、DBアクセスする際は必ずリモートサーバにアクセスする形になる。そして、この手法の場合、ファイル出力先は必ずDBサーバ内になってしまう。

レンタルサーバでは、DBサーバからファイル自体にアクセスして取得することはできない。なので、この手法は使えない。mysqldumpコマンドを通してCSV出力を行う必要がある。


コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください