MySQLでCSVから列を指定してインポート
2026/08/05
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に格納する方法を取っていたが今回の方法の方が楽そう。
関連記事
-
-
tableタグ内のデータをCSV形式でダウンロードできる「jQuery-csvExport」ライブラリの使用方法
HTMLのtableタグ内のデータをCSV形式でエクスポートさせたいケースがあっ ...
-
-
フォームからCSVファイルをアップロードしてPHPの配列に格納する方法
formからcsvファイルをアップロードさせて、PHPで色々処理したかった。とり ...
-
-
CSVファイルをアップロードしてWordPressに記事を投稿する方法
CSVファイルをアップロードすることでWordPressに記事を投稿したかった。 ...
-
-
PHPでCSVファイル出力用の関数
ここのところログ系をCSVファイル出力にするケースが多かった為、使いまわせるよう ...
-
-
LeagueCSVで「The header record must be empty~~」エラーが発生する原因と対応方法
以前にメモしたPHPのLeagueCSV(thephpleague / csv) ...