MySQL アプリケーション・ツール

【MySQL】 CSVデータをphpMyAdminからインポートする方法

2018/05/21

phpMyAdminを使ってデータベース(MySQL)へCSVデータをインポートする際にハマりかけたので、ポイントを整理して備忘録としておきたいと思います。

キャプチャしたphpMyAdminのバージョンが3.4.2と(かなり)古いですが、気にせずに願います。

csvファイルのインポート手順

手順1. データの文字コード変換

CSVフォーマット(半角カンマ区切り)でデータを作成してください。
その際、Windowsなら「秀丸エディタ」や「クラエディタ」等、Macなら「mi」「CotEditor」などのテキストエディタで文字コードを、データベースで使用している文字コードを「UTF-8」や「EUC-JP」に変換します。
現状、多くのシステムで「UTF-8」が使用されています。

最近知ったのですが、Windows標準のメモ帳でも文字コードを変換できるようです。

手順2. データベース、テーブルの指定

phpMyAdminにアクセスし、対象のテーブルへ移動します。

手順3. テーブルへのデータインポート

インポートするファイル

CSVファイルを指定。
先にも書きましたが、文字コードをデータベースで使用する文字コードにすることを忘れずに。

部分インポート

先頭から数えたスキップする行の数:先頭行が項目となっている場合は「1」とする。

フォーマット

「LOAD DATA 文を使用した CSV の読み込み」を選択

フォーマット特有のオプション

  • カラムの終端記号:「,」(半角カンマ)
  • カラム囲み記号:「"」(ダブルクォート)
  • カラムのエスケープ記号:「\」(バックスラッシュ(日本語キーボードでは半角¥マーク))
  • 行の終端記号:「auto」
  • LOCAL キーワードを使用するのチェックはデフォルトでチェックされているのでそのまま

phpmyadmin

↑ 最終的にはこのようにしました

その他メモ

カラムの囲み記号を使用しない場合(数値データばかりなどの場合)は、カラム囲み記号を空白にするのが吉。
実際、今回のテストでは囲み記号を使わないデータに対し囲み記号を指定するとエラーとなりました。

-MySQL, アプリケーション・ツール
-, , ,