RSS

LOAD DATA INFILE での注意点

22 11月

MySQL の LOAD DATA INFILE コマンドで CSV ファイルをインポートする場合の注意点ですが、

  • テーブルの文字コードとCSVファイルの文字コードが合っているか?
  • CSVファイルの行の終端がLFか?(WindowsではデフォルトでCRLFになるので注意)
  • 特殊な文字があるとうまくいかない可能性がある。例えば、絵文字 など。
  • 文字コードを実行前に指定しておく。
  • 区切り文字や囲み文字の指定が必要か?
  • LOAD DATA コマンドの文法に沿っているか?(パラメータ指定の順番も正確に合っていること)

です。

使用例

mysql> SET character_set_database=UTF8;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> load data local infile '/home/user/temp/TABLE1.csv' 
into table TABLE1 fields terminated by ',';
Query OK, 104 rows affected, 10 warnings (0.07 sec)

FIELDS の指定例

FIELDS
    TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'
    ESCAPED BY ''

SQL Server のクエリー結果 (Management Studio) を CSV 保存して MySQL へインポートする例。

SET CHARACTER SET 'UTF8';
LOAD DATA LOCAL INFILE '/home/user/data/Oryo.csv'
INTO TABLE user.Pixiv
  FIELDS
    TERMINATED BY ','
    ENCLOSED BY '"'
  LINES
    TERMINATED BY '\r\n'
  IGNORE 1 LINES
;

広告
 
コメントする

投稿者: : 2016/11/22 投稿先 MySQL

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

w

%s と連携中

 
%d人のブロガーが「いいね」をつけました。