プログラムでロードすることはあっても、SQL から直接ロードすることがあまりないので、備忘録です。SET 構文が柔軟で便利です。
is_matched,key1,gen_date
False,1001,2014-01-24 01:55:06
True,1002,2014-02-01 13:00:00
True,1003,2014-02-12 09:31:22
CREATE TABLE TableA (
key1 INT NOT NULL PRIMARY KEY,
gen_date DATETIME,
is_matched BOOLEAN
);
LOAD DATA INFILE './data.csv' INTO TABLE TableA
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES # ヘッダ行を飛ばす
(@f1, key1, @f3) # 2列目は変換をしないため、直接フィールド名を指定する
SET is_matched = IF(@f1='False',0,1),
gen_date = STR_TO_DATE(@f3, '%Y-%m-%d %H:%i:%s');