"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं `mysql` और `sed` का उपयोग करके सभी MySQL तालिकाओं को CSV फ़ाइलों में कैसे निर्यात कर सकता हूँ?

मैं `mysql` और `sed` का उपयोग करके सभी MySQL तालिकाओं को CSV फ़ाइलों में कैसे निर्यात कर सकता हूँ?

2024-12-22 को प्रकाशित
ब्राउज़ करें:913

How Can I Bulk Export All MySQL Tables to CSV Files Using `mysql` and `sed`?

'mysqldump' के साथ थोक CSV निर्यात

MySQL डेटा प्रबंधन के दायरे में, तालिका सामग्री को CSV प्रारूप में निर्यात करना एक महत्वपूर्ण कार्य हो सकता है . जबकि 'mysqldump' डेटाबेस बैकअप के लिए एक शक्तिशाली उपयोगिता है, इसमें प्रत्येक तालिका को CSV के रूप में विशेष रूप से निर्यात करने का विकल्प नहीं है। यह आलेख 'mysql' और पोस्ट-प्रोसेसिंग के संयोजन का उपयोग करके इसे पूरा करने के लिए एक वैकल्पिक दृष्टिकोण की खोज करता है।

'mysql' with '-B' Parameter

मुख्य बात हमारा समाधान 'mysql' उपयोगिता में '-B' पैरामीटर का लाभ उठाने में निहित है। यह पैरामीटर प्रोग्राम को टैब-सीमांकित प्रारूप में परिणाम प्रदर्शित करने का निर्देश देता है। 'सेड' के माध्यम से आउटपुट को पाइप करके, हम हेडर के साथ एक सीएसवी फ़ाइल बनाने के लिए डेटा में और हेरफेर कर सकते हैं।

बैश स्क्रिप्ट पुनरावृत्ति

सभी तालिकाओं को एक में निर्यात करने के लिए डेटाबेस, हम तालिका नामों की सूची के माध्यम से लूप करने के लिए बैश स्क्रिप्ट का उपयोग कर सकते हैं। एक दृष्टिकोण निम्नलिखित आदेशों को संयोजित करना है:

mysql -u username -ppassword dbname -sN -e "SHOW TABLES;" | \
for tb in $(mysql -u username -ppassword dbname -sN -e "SHOW TABLES;"); do
    mysql -B -u username -p password database -h dbhost -e "SELECT * FROM $tb;" \
    | sed “s/”/\””/g;s/'/\'/;s/\t/\”,\”/g;s/^/\”/;s/$/\”/;s/\n//g” > "$tb.csv"
done

यह स्क्रिप्ट पहले 'SHOW TABLES' का उपयोग करके तालिकाओं की सूची पुनर्प्राप्त करती है और इसे वेरिएबल 'tb' में संग्रहीत करती है। इसके बाद यह प्रत्येक तालिका के नाम पर पुनरावृति करता है और '-B' पैरामीटर के साथ 'SELECT *' क्वेरी निष्पादित करता है। परिणामी आउटपुट को 'sed' द्वारा संसाधित किया जाता है और तालिका के नाम पर एक CSV फ़ाइल में संग्रहीत किया जाता है।

निष्कर्ष

'mysql के '-B' पैरामीटर को मिलाकर ' और 'sed' पोस्ट-प्रोसेसिंग के बाद, हम MySQL डेटाबेस में सभी तालिकाओं को CSV प्रारूप में प्रभावी ढंग से निर्यात कर सकते हैं। यह दृष्टिकोण 'mysqldump' की सीमाओं को दरकिनार करता है और आउटपुट डेटा में हेरफेर करने में अधिक लचीलापन प्रदान करता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3