2015-03-13 53 views
1

我有一個非常大的製表符分隔文件。它大約有500列,可能還有一百萬條記錄。它是文本,日期和數字的組合。實際上我只對從裏面的幾列感興趣 - 其餘的將被刪除。將非常大的製表符分隔的文件導入到MySQL中沒有首先創建表

我想將它導入到MySQL中,但它是一次性的(可能是2或3次關閉)任務,我不能爲LOAD DATA INFILE命令創建空表而煩心。

實現此目的的最低努力方法是什麼?可以LOAD DATA INFILEVARCHAR/TEXT列或類似的動態創建表嗎?

回答

1

您必須創建一個表格。但是如果你只需要某些列,你可以選擇它們。

創建所需列的表格。你可以像這樣運行LOAD DATA

LOAD DATA LOCAL INFILE 'import.csv' INTO TABLE yournewtable 
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' 
(@col1,@col2) set [email protected],[email protected]; 

@ col1,@ col2是來自CSV的變量。 Colum1,Column2表示您創建的表中的列。

+1

完美謝謝。爲了將來的參考,我需要第2列和第229列,我在括號內輸入以下內容:'(@ dummy,@ col2,@ dummy,@ dummy,... * 223,@ dummy,@ col229)'然後在最後的聲明中使用了「@ col2」和「@ col229」 – StackG 2015-03-13 11:26:50

相關問題