Blog

CSVファイルをMysqlにインポートする方法

2014.08.19Cat:MySQL プログラマー

phpmyadminを使えばインポートできますが、phpで実装したいときの方法です。

今回は、LOAD DATA LOCAL INFILEを使っての実装です。

この場合、csvファイルがある場所によって構文が変わってきます。

 

① LOAD DATA INFILE

インポート先のデータベースがあるサーバーにcsvファイルがある場合

② LOAD DATA LOCAL INFILE

クライアントにあるcsvファイルをサーバーのデータベースへ

 

構文

 

 

上記の構文、例は単なるサンプルですので、必要に応じて下記の引数と組み合わせていくのがいいと思います。

 

《LOAD DATA INFILE文の引数》

引数名 説明
LOW_PRIORITY 他の処理よりも優先しない。
CONCURRENT 処理実行中に、他のスレッドがこのテーブルからデータを取り出すことを許可。
LOCAL FILE権限がなくても、ローカルファイルの読み込みを許可。IGNOREと同様、行の重複エラーが発生しても、挿入処理を続行します。
REPLACE 同じユニークキーを持つ既存の行は、新しい行で置換します。
IGNORE 既存の行とユニークキーと重複するキーを持つ新しい行は無視する。
IGNORE 数値 LINES ファイルの先頭にある行を無視する。
FIELDS
[OPTIONALLY]
ENCLOSED BY
各値のシングルクウォートを制御します。省略した場合、全ての値は ENCLOSED BY で指定した囲い文字で囲まれます。
指定した場合は、CHAR型・VARCHAR型の値(つまり数値以外)が ENCLOSED BY で指定した囲い文字で囲まれます。 ENCLOSED BY で指定した囲い文字が値の両端にある場合は、その文字を削除して囲まれます。
ESCAPED BY 特殊文字をエスケープします。バックスラッシュをエスケープ文字として指定するには、’\\‘とします。 FIELDS ESCAPED BY を省略した場合は、エスケープ処理は行われません。

Author Profile

  • Launch Cart次世代ECサイト構築システム 初期月額無料
  • LaunchMovie ECに特化した動画制作サービス

Archive

ページTOPへ