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

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

2019/08/23

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

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

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

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

csvフォーマット(半角カンマ区切り)でデータを作成してください。

作成する際、Windowsなら「秀丸エディタ」や「サクラエディタ」など、Macなら「mi」「CotEditor」などのテキストエディタで文字コードを、データベースで使用している文字コードに変換します。

現在は多くのシステムで「UTF-8」や「UTF8mb4」が使用されています。

私は最近知ったのですが、(以前はShift-JISしか扱えなかった)Windows標準のメモ帳でも、UTF-8へ文字コードを変換できるようになっているとのことです。

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

phpMyAdmin にアクセスし、対象のデータベースを選択します。

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

インポートするファイル

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

部分インポート

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

フォーマット

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

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

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

phpmyadmin

↑ 少し見にくいですが、最終的にはこのようにして実行します

その他メモ

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

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