Excelから出力したCSVファイルをphpMyAdminからインポートする

大量のデータをMySQLデータベースに入れたいことはよくある。そういうとき、元データはExcelであることが多い。


ここでは、Excelから出力されたCSVを、phpMyAdminのインポート機能を使ってインポートする方法を紹介する。


ポイントは4つ。

  • CSVファイルの文字コードUTF-8にする
  • フィールド区切りは , (カンマ) にする
  • フィールド囲み記号は " (ダブルクオート)にする
  • カラム名は手動で指定した方が良い

phpMyAdminのインポート画面は、テーブル編集画面の上部にあるメニューから、インポート を選ぶことで行ける。(↓)

phpMyAdminのインポート画面の設定は次のようになる


 Excelで出力されるCSVファイルの文字コードはShift-Jisになっているので、何らかの方法でUTF-8にする必要がある。フィールドの囲み記号は " (ダブルクオート)にしよう。
 また、出力されたCSVファイルを見ると、普通のデータは " で囲まれていないが、複数行をまたぐデータ(改行コードが入るもの)があると、" で囲まれるようになる。囲み記号を空白にすると、改行を含むデータが読み込まれず、エラーになってしまう。
 さらに、インポートするデータは最小限にスリムアップしておいた方が良い。つまり、Auto-Incrementフィールドなどはデータに入れる必要もなく、入れない方がエラーも出にくい。その際、カラム名は空白にせず、読み込むデータの分、手動で指定する。