2010-07-13 23 views
7

benim veritabanına yüklemek istediğiniz CSV dosyaları bir çift var görmezden, ancak CSV dosyası benim veritabanında daha çok çok fazla sütun içerir. CSV dosyasından yalnızca seçili sütunları veritabanıma nasıl alırım?MySQL ithalat CSV veri - bazı csv sütunları

argümanlar uğruna

, CSV Diyelim Z'ye sütunlar A değerlere sahip bir başlık Z'ye sütun başlıkları A ile satır ve sonra iki milyondan satırları içerir diyelim benim masa mytest yüzden, B, N ve S içeren sadece mytest dosyasını CSV B sütunu, N ve S almak istiyorum.

yapmak planlama edilmiştir:

mysqlimport --local --columns=B,N,S --ignore-lines=1 --delete --default-character-set=latin1 --fields-optionally-enclosed-by=\" --fields-terminated-by=\, --lines-terminated-by=\r\n myDb myTest.csv 

Ama bu kolon B değerleri, N, S ve I gibi kolon A değerleri, B ve C, ile satır B, N ve S doldurur aranan.

Ben sadece B, N ve S içe hale nasıl herhangi bir öneriniz?

cevap

14

Sen --columns=B,N,S değiştirebilir ve İhtiyacınız olmayan tüm sütunları atlamak için parametreler eklemeniz gerekir. Örneğin

, 1, 4 ve 7. sütun kullanımını kullanmak için:

--columns=B,@x,@x,N,@x,@x,S 

Bu @x parametresine 2., 3., 5. ve 6. sütun gönderir.

Ref: http://dev.mysql.com/doc/refman/5.1/en/mysqlimport.html

+0

hile yaptığını, Çok teşekkür ederim! Ben :-) sabahtan bu bağlantıyı okuduğu ancak bu şekilde yapmanın düşünmemişti – niklassaers