【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 キーワードを使用する:(デフォルトでチェックされているので)そのまま
↑ 少し見にくいですが、最終的にはこのようにして実行します
その他メモ
カラムの囲み記号を使用しない場合(数値データばかりなどの場合)は、カラム囲み記号を空白にするのが吉。
実際、今回のテストでは囲み記号を使わないデータに対し囲み記号を指定するとエラーとなりました。