2009-10-26 18 views
7

क्या MySQL के पास थोक लोड कमांड लाइन उपकरण है जैसे SQLServer के लिए bcp और Oracle के लिए sqlldr? मुझे पता है कि एक एसक्यूएल कमांड LOAD INFILE या इसी तरह है लेकिन मुझे कभी-कभी एक फ़ाइल को थोक लोड करने की आवश्यकता होती है जो MySQL डेटाबेस पर एक अलग बॉक्स पर है।MySQL थोक लोड कमांड लाइन उपकरण

उत्तर

7

mysqlimport।

उसी कनेक्शन पैरामीटर को mysql कमांड लाइन खोल के रूप में लेता है। स्थानीय फ़ाइल सिस्टम पर फ़ाइल का उपयोग करने के लिए -एल ध्वज का उपयोग करना सुनिश्चित करें, अन्यथा यह (अजीब तरह से) मान लेगा कि फ़ाइल सर्वर पर है।

load data infile कमांड, यानी load data local infile पर एक समान संस्करण भी है, जिसके अनुसार फ़ाइल सर्वर के बजाय क्लाइंट से लोड की जाएगी, जो आप जो करना चाहते हैं उसे पूरा कर सकते हैं।

+0

mysqlimport ऐसा लगता है कि मैं क्या कर रहा हूं, धन्यवाद। केवल क्विर्क मैंने देखा है कि ऐसा लगता है कि फ़ाइल नाम को तालिका के नाम से मेल खाना पड़ेगा, इसलिए शायद 'लोड डेटा स्थानीय इन्फाइल' अधिक लचीला होगा। –

+1

हाँ, तो आप इसे आयात करने से पहले फ़ाइल के लिए एक प्रतीकात्मक लिंक जोड़ सकते हैं। – Don

2

मुझे लगता है कि mysqlimport मदद कर सकता है?

विभिन्न प्रारूपों में टेक्स्ट फ़ाइलों से तालिकाओं को लोड करता है। टेक्स्ट फ़ाइल का मूल नाम उस तालिका का नाम होना चाहिए जिसका उपयोग किया जाना चाहिए। यदि कोई MySQL सर्वर से कनेक्ट करने के लिए सॉकेट का उपयोग करता है, तो सर्वर खुल जाएगा और सीधे टेक्स्ट फ़ाइल को पढ़ेगा। अन्य मामलों में ग्राहक फ़ाइल खोल देगा। एसक्यूएल कमांड 'लोड डेटा इन्फाइल' का उपयोग पंक्तियों को आयात करने के लिए किया जाता है।

2
mysql -u root -p 
use database; 
source /path/yourfile.sql 

आप के लिए यदि आप किसी अन्य के लिए एक मशीन से 'थोक फ़ाइल' transfert को ssh के माध्यम से rsync उपयोग कर सकते हैं क्या देख रहे हो सकता है।

5
LOAD DATA LOCAL INFILE 'C:\\path\\to\\windows\\file.CSV' 
INTO TABLE table_name 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
(field1, field2, field3, fieldx); 
+0

आश्चर्यजनक सुपर फास्ट! –

संबंधित मुद्दे