SQLite कमांड लाइन संपूर्ण डेटाबेस को निर्यात या बैकअप करने के लिए कई तरीके प्रदान करती है। उनमें से एक में .dump
. शामिल है डॉट कमांड।
.dump
कमांड आपको पूरे डेटाबेस को एक ASCII टेक्स्ट फ़ाइल में बदलने में सक्षम बनाता है। दूसरे शब्दों में, यह पूरे डेटाबेस को SQL के रूप में प्रस्तुत करता है। टेक्स्ट फ़ाइल में टेबल बनाने, डेटा डालने आदि के लिए आवश्यक सभी SQL स्टेटमेंट होते हैं।
आप .dump
. का भी उपयोग कर सकते हैं एक संपीड़ित फ़ाइल बनाने के लिए। मैं इन दोनों विधियों की रूपरेखा नीचे देता हूं।
SQL के रूप में निर्यात करें
आप .dump
. का उपयोग कर सकते हैं .output
. के संयोजन में या .once
संपूर्ण डेटाबेस को एक .sql फ़ाइल में निर्यात करने के लिए।
इस फ़ाइल में डेटाबेस के पुनर्निर्माण के लिए आवश्यक सभी SQL कथन शामिल होंगे (सभी तालिकाएँ बनाने, सभी डेटा सम्मिलित करने आदि सहित)।
यहां एक उदाहरण दिया गया है:
.once Store.sql
.dump
इस मामले में मैंने .once
. का इस्तेमाल किया आज्ञा। यह केवल अगले आदेश या SQL कथन के परिणामों को निर्दिष्ट फ़ाइल में निर्देशित करता है।
इस मामले में, अगला कमांड है .dump
dot कमांड, जो डिफ़ॉल्ट रूप से, सभी डेटाबेस सामग्री को SQL के रूप में प्रस्तुत करता है।
आप वैकल्पिक रूप से .output
. का उपयोग कर सकते हैं , लेकिन यह सभी . के परिणामों को निर्देशित करेगा फ़ाइल में भविष्य के आदेश/एसक्यूएल कथन। यदि आप सावधान नहीं हैं तो इसके अनपेक्षित परिणाम हो सकते हैं।
डेटाबेस को पुनर्स्थापित करें
एक बार जब आप .sql बैकअप फ़ाइल बना लेते हैं, तो आप केवल SQLite के भीतर से उस फ़ाइल को पढ़कर पूरे डेटाबेस का पुनर्निर्माण कर सकते हैं।
उदाहरण के लिए, आप एक नई डेटाबेस फ़ाइल निर्दिष्ट करते समय SQLite से कनेक्ट कर सकते हैं (एक जो पहले से मौजूद नहीं है):
sqlite3 Store2.db
एक डेटाबेस फ़ाइल निर्दिष्ट करके जो मौजूद नहीं है, SQLite एक रिक्त डेटाबेस बनाएगा।
अब जब आप SQLite में हैं, तो आप बैकअप फ़ाइल की सामग्री को पढ़ सकते हैं:
.read Store.sql
यही सब है इसके लिए। डेटाबेस को .sql फ़ाइल से फिर से बनाया गया है। सभी टेबल बना दिए गए हैं और सभी डेटा डाला गया है।
संपीड़ित फ़ाइल बनाएं
यदि आपका डेटाबेस बड़ा है और इसमें बहुत अधिक डेटा है, तो आप एक संपीड़ित बैकअप फ़ाइल बनाने से बेहतर हो सकते हैं।
यहां एक उदाहरण दिया गया है:
sqlite3 Store .dump | gzip -c >Store.dump.gz
ध्यान दें कि यह SQLite के बाहर चलाया जाता है। दूसरे शब्दों में, मैं इस आदेश को चलाने से पहले SQLite से कनेक्ट नहीं हुआ था। मैंने बस एक नई टर्मिनल विंडो खोली और उस कमांड को चलाया।
असल में, मैंने पहले बैकअप फ़ोल्डर में नेविगेट किया। यदि आप ऐसा नहीं करते हैं, तो आपको बैकअप फ़ाइल में पथ शामिल करना होगा।
आप zcat . के साथ डेटाबेस का पुनर्निर्माण कर सकते हैं . zcat उपयोगिता आपको एक संपीड़ित फ़ाइल की सामग्री को वास्तव में इसे असम्पीडित किए बिना देखने की अनुमति देती है।
इसलिए पिछले उदाहरण में बनाई गई फ़ाइल को zcat . का उपयोग करके फिर से बनाया जा सकता है उपयोगिता।
zcat Store.dump.gz | sqlite3 Store2
यह आपके सिस्टम के आधार पर काम कर भी सकता है और नहीं भी। यदि यह काम नहीं करता है, तो आपको एक अलग संपीड़न उपयोगिता का उपयोग करने की आवश्यकता हो सकती है।