Qiita Tech Festa 2026のイベント「MySQLについてこの一年間で新しく知ったこと」に参加します。
この一年でMySQLを触る中で知った機能の一つが LOAD DATA INFILE です。
CSVファイルのデータをテーブルへ登録したい場合、プログラムで1件ずつINSERTする方法もありますが、MySQLにはCSVを直接読み込む機能が用意されています。
今回は簡単に紹介していきます。
使い方
例えば以下のようなCSVファイルがあるとします。
id,name
1,Tanaka
2,Suzuki
3,Sato
このCSVをMySQLへ取り込む場合は次のように記述します。
LOAD DATA INFILE '/tmp/users.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
なんとなく見れば、
- カンマ区切りでフィールドを分割する
- 改行ごとに次のレコードとして扱う
- ヘッダー行は無視する
ということが分かると思います。
よくあるファイルアップロードで使うものだと思うので覚えたいですが、なかなか難しい気がするので、「MySQLでCSVを取り込むならLOAD DATA INFILE」という知識があるだけで、調べるときの取っ掛かりになります。
最近はAIを使って調査することも増えていますが、機能名を知っているだけでも質問しやすくなり、欲しい情報にたどり着きやすくなると感じています。