STERFIELD

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

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

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

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

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

 

① LOAD DATA INFILE

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

② LOAD DATA LOCAL INFILE

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

 

構文

 

 

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

 

《LOAD DATA INFILE文の引数》

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

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい