勉強したことのメモ

webプログラマが勉強したことのメモ。

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

   

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列といった形になる。

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

 

参考サイト

CSVファイルをMySQLにインポートするSQL文

 

所感

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

 - MySQL, データベース

  関連記事

phpMyAdminでのエクスポート/インポート

DBのバックアップを取る際にエクスポート/インポートを行うが、 データ件数が多い ...

SQLで同じ値を複数のレコードに対してUPDATE

やりたかった事は、複数のレコードに対して 同じ値に更新したいというもの。 $sq ...

MySQLで文字列の置換

MySQLで文字列の置換を行いたかった。以下に方法をメモ。   置換方 ...

PHPからMySQLにシリアライズしたデータを格納

アンケートフォームみたいなのがあって、 今後も定期開催し、尚且つ質問内容は増減す ...

MySQLで同一サーバーの異なるDB内のテーブルをJOINする

同一のMySQLサーバーでdb1データベースのtable1テーブルと、db2デー ...

MySQLでtext型カラムに入っている数値をint型としてソートする

MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...

MySQLでデータがあれば更新、無ければ挿入

DBにデータがあれば更新、無ければ挿入(新規作成)を 行いたい際に使えるものがあ ...

文字コードのutf8_general_ciとutf8_unicode_ciの違い

MySQLで設定する時に使っているサーバーによってデフォルトの文字コードがutf ...

MySQLでREGEXPについて

SQL文にREGEXPというのを見てこれ何? となったのでメモ。 ■参考サイト ...

1回のSQL文で複数のUPDATE

INSERTはバルクインサートを使えばいいが、 UPDATEはあまり聞かないので ...