2012-03-04 23 views
3

私は、以下の構造を持つcsvファイルがあります:私は私の英語のために謝罪CSVからMySQLにデータをインポートする方法は?

LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name 
    FIELDS TERMINATED BY \t' ENCLOSED BY '"' 
    LINES TERMINATED BY '\r\n' 
    IGNORE 1 LINES; 

:私はMySQLのテーブル内の最初と3番目の列をインポートすることができますどのように次のMySQL関数を使用して

A BA0011 U206 NAME 0000000000000149.00  000000.00 0000000000000118.93 S N N 
    A BB0011 U206 NAME 0000000000000150.00  000000.00 0000000000000118.93 S N N 
    A BC0011 U206 NAME 0000000000000151.00  000000.00 0000000000000118.93 S N N 
    A BD0011 U206 NAME 0000000000000152.00  000000.00 0000000000000118.93 S N N 
    A BE0011 U206 NAME 0000000000000153.00  000000.00 0000000000000118.93 S N N 

を!

ありがとうございます!

+0

余分な楽しみのために、CSVストレージエンジンhttp://dev.mysql.com/doc/refman/5.6/ja/csv-storage-engine.htmlを参照してください。 – biziclop

答えて

6

列を指定し、不要な列に「@dummy」とマークすることができます。あなたが好きなように

LOAD DATA INFILE 'data.csv' 
INTO TABLE t1 
(column1, @dummy, column2, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy) 
FIELDS TERMINATED BY '\t' ENCLOSED BY 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES; 

t1column1column2を交換してください。データファイルに含まれていない他の列を設定するには、あなたはこのようにそれを行うことができます。さらに参考のため

LOAD DATA INFILE 'data.csv' 
INTO TABLE t1 
(column1, @dummy, column2, @dummy, @val, @dummy, @dummy, @dummy, @dummy, @dummy) 
FIELDS TERMINATED BY '\t' ENCLOSED BY 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES 
SET column3 = "test", column4 = CURRENT_TIMESTAMP, column5 = @val/10; 

、私はあなたがMySQL referenceを見てみることをお勧めします。

+0

このコードを使用する必要がある場合、テーブルにはファイル内のすべてのフィールドが含まれている必要があります。 – dido

+0

@dilyan_kn私はいくつかの追加の列を定義する例を追加しました。 – SecStone

+0

ここで、shdはdata.csv puttedですか? –

0

おそらく、すべての列(CSVと一致する)を持つテーブルにインポートし、それを選択してターゲットテーブルに挿入することができますか?

関連する問題