勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLでCSVから列を指定してインポート

   2026/08/05  MySQL データベース

MySQLでCSVからデータをインポートしたかった。またエクセル風にいうA列はidカラム、B列はnameカラムといったように列とカラムを紐付けてインポートしたい。以下に対応方法をメモ。

 

対応方法

load data local infile "/var/www/html/data.csv" into table test_table fields terminated by ',' optionally enclosed by '"'
(@1,@2,@3)
SET 
    id = @1,
    name = @2,
    age = @3

「/var/www/html/data.csv」はインポートしたいCSVファイルの保存場所を、test_tableはテーブル名に適宜書き換える。@1はA列、@2はB列といった形になる。

尚、日本語データが入らず半角英数字や日時は入るといった場合は文字コードを疑う。

 

参考サイト

https://www.virment.com/sql-for-import-csv-mysql/

 

所感

今までだとCSVデータをPHPで読み取り、PHPからMySQLに格納する方法を取っていたが今回の方法の方が楽そう。

 - MySQL データベース

  関連記事

PHPで簡単にCSVファイルの生成
PHPで簡単にCSVファイルの生成

簡単にデータ並べるだけのCSVファイル生成。 file_put_contensで ...

フォームからCSVファイルをアップロードしてPHPの配列に格納する方法
フォームからCSVファイルをアップロードしてPHPの配列に格納する方法

formからcsvファイルをアップロードさせて、PHPで色々処理したかった。とり ...

PHPでCSVファイル出力用の関数
PHPでCSVファイル出力用の関数

ここのところログ系をCSVファイル出力にするケースが多かった為、使いまわせるよう ...

CSVファイルをローカルで開くと「SYLKファイルが云々」のアラートが出る場合の対応方法
CSVファイルをローカルで開くと「SYLKファイルが云々」のアラートが出る場合の対応方法

データベースのログを整形してCSVファイルを生成し、ダウンロード及びエクセルで開 ...

PHPで配列データをCSVとしてダウンロードさせる方法
PHPで配列データをCSVとしてダウンロードさせる方法

PHPでログ的なデータをCSV化したかった。ただ、複数の人間が使うのでCSVファ ...