エンジニアになりたい

立派なエンジニアに憧れるへっぽこエンジニアのメモ書き

MySQL で CSV をインポート

MySQLCSV をインポートします。

こんな感じ

 LOAD DATA INFILE "/path/File.csv" INTO TABLE tablename FIELDS TERMINATED BY ",";

区切り文字を FIELDS TERMINATED BY "," でカンマに指定しています。
デフォルトはタブです。

私はこれをWindowsでやりましたが、CSVファイルの文字コード(SJIS) と
MySQL文字コード(UTF-8)が違ったため文字化けしました。
そんなときはこのコマンドが使えます。

set character_set_database=sjis;



また、LOAD DATA INFILE でインポートする時、
レコードの区切りは改行で判定しますがその改行コードは LF らしく
CSVファイルの改行コードが CR + LF だと インポートされるデータに CR がついてしまいます。
下記、オプションをつけると区切りの改行コードを CR + LF に変更できます。

LINES TERMINATED BY x'0D0A'



コマンドを流すとこんな感じで結果が出力されます。

Query OK, 1547 rows affected, 1 warning (0.07 sec)
Records: 1547  Deleted: 0  Skipped: 0  Warnings: 1

Warnings の内容を見るには下記コマンドを使います。

SHOW WARNINGS;

以上。