Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySql CLI का उपयोग करके बड़ी CSV फ़ाइल को MySql में आयात करने का सबसे तेज़ तरीका

इस पोस्ट में मैं MySql CLI का उपयोग करके बड़ी CSV फ़ाइल को MySql में आयात करने का सबसे तेज़ तरीका साझा करने जा रहा हूँ। आपने अन्य स्रोतों से उत्पाद फ़ीड या कोई अन्य रिपोर्ट डाउनलोड की होगी, लेकिन फ़ाइल का आकार आपने लगभग 2GB डाउनलोड किया है जिसमें 5 मिलियन पंक्तियां हैं। और इस विशाल CSV फ़ाइल को अपने MySql डेटाबेस में आयात करने का सबसे तेज़ तरीका खोज रहे हैं, तो यह पोस्ट आपके लिए है।



PhpMyAdmin से लगभग 2GB बड़ी .csv फ़ाइल आयात करना बहुत ही थकाऊ कार्य, और आप फ़ाइल को ठीक से आयात करने में सफल नहीं हो सकते हैं। आप कनेक्शन टाइमआउट, निष्पादन टाइमआउट त्रुटि को चरणबद्ध कर सकते हैं। http पोर्ट का उपयोग करके फ़ाइल आयात करने में बहुत समय लगेगा। इसलिए मेरा सुझाव है कि आप इस प्रकार की विशाल फ़ाइल को अपने MySQL डेटाबेस में आयात करने के लिए MySql CLI का उपयोग करें। जैसा कि आप जानते हैं कि कमांड लाइन कार्य पूरा करने का सबसे तेज़ तरीका है। यहाँ मैं कुछ MySql प्रश्नों को साझा करने जा रहा हूँ जो आपको मिनटों में CSV फ़ाइल को अपने MySql डेटाबेस में आयात करने में मदद करते हैं।

यह भी पढ़ें: बड़ी csv फ़ाइल को छोटी फ़ाइलों में कैसे विभाजित करें

CLI का उपयोग करके MySql डेटाबेस में लॉग इन करें

 mysql -u username -p dbname --local-infile

निम्नलिखित कमांड चलाने के बाद यह डेटाबेस पासवर्ड के लिए पूछेगा, पासवर्ड टाइप करें और एंटर दबाएं और आप अपने MySql कमांड इंटरफेस में लॉग इन करेंगे, यहां आप कोई भी क्वेरी चला सकते हैं, प्रत्येक क्वेरी यहां तेजी से चलती है, एक बार कोशिश करें कि आप वास्तव में अपना समय बचा सकें बड़े प्रश्नों को चलाने पर।



सीएसवी फ़ाइल कमांड लाइन आयात करने के लिए MySQL क्वेरी

LOAD DATA LOCAL INFILE 'csv_file_path/filename.csv'  INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';

यदि आपके पास टैब से अलग की गई CSV फ़ाइल है, तो आप निम्न क्वेरी का उपयोग कर सकते हैं, बस ',' द्वारा समाप्त फ़ील्ड्स को बदलें '\t' द्वारा समाप्त किए गए फ़ील्ड . से

LOAD DATA LOCAL INFILE 'csv_file_path/filename.csv'  INTO TABLE table_name FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';

यदि आप चाहते हैं कि केवल विशिष्ट कॉलम को CSV फ़ाइल से MySql डेटाबेस में इनसेट करने की आवश्यकता हो तो अवांछित CSV कॉलम को अनदेखा करने के लिए निम्न क्वेरी का उपयोग करें।

LOAD DATA LOCAL INFILE 'csv_file_path/filename.csv'  INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (@col1,@col2,@col3,@col4,@col5,@col6) set [email protected],[email protected], [email protected];
सेट करें

जहां col1,2,3,4,5,6 CSV फ़ाइल कॉलम हैं @ उन डेटाबेस कॉलम को छोड़कर सभी कॉलम को अनदेखा कर देगा जिन्हें आपने सेट किया है जैसे [email protected],[email protected], [email protected]




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL CONCAT शर्त के साथ चयन करें

  2. बड़ी sql फ़ाइल आयात करते समय MySQL सर्वर चला गया है

  3. PDO + MySQL और टूटा हुआ UTF-8 एन्कोडिंग

  4. MySQL एक रिकॉर्ड में कई शब्दों का मिलान करने के लिए LIKE या REGEXP चुनें

  5. मूल पंक्ति को हटा या अद्यतन नहीं कर सकता:एक विदेशी कुंजी बाधा विफल हो जाती है