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

MySQL डंप SQL फ़ाइल को SQLite3 डेटाबेस में कैसे बदलें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:186

How to Convert a MySQL Dump SQL File to a SQLite3 Database?

MySQL Dump SQL को Sqlite3 DB में कनवर्ट करना

SQLite3 डेटाबेस में MySQL डंप SQL फ़ाइल को आयात करने के लिए अनुकूलता सुनिश्चित करने के लिए रूपांतरण की आवश्यकता होती है।

प्रदान की गई शेल स्क्रिप्ट डंप फ़ाइल को परिवर्तित करने का एक स्वचालित तरीका प्रदान करती है:

#!/bin/sh
# Usage: $0 

if [ "x$1" == "x" ]; then
   echo "Usage: $0 "
   exit
fi
cat $1 |
grep -v ' KEY "' |
grep -v ' UNIQUE KEY "' |
grep -v ' PRIMARY KEY ' |
sed '/^SET/d' |
sed 's/ unsigned / /g' |
sed 's/ auto_increment/ primary key autoincrement/g' |
sed 's/ smallint([0-9]*) / integer /g' |
sed 's/ tinyint([0-9]*) / integer /g' |
sed 's/ int([0-9]*) / integer /g' |
sed 's/ character set [^ ]* / /g' |
sed 's/ enum([^)]*) / varchar(255) /g' |
sed 's/ on update [^,]*//g' |
perl -e 'local $/;$_=<>;s/,\n\)/\n\)/gs;print "begin;\n";print;print "commit;\n"' |
perl -pe '
  if (/^(INSERT. ?)\(/) {
     $a=$1;
     s/\\'\''/'\'\''/g;
     s/\\n/\n/g;
     s/\),\(/\);\n$a\(/g;
  }
  ' > $1.sql
cat $1.sql | sqlite3 $1.db > $1.err
ERRORS=`cat $1.err | wc -l`
if [ $ERRORS == 0 ]; then
  echo "Conversion completed without error. Output file: $1.db"
  rm $1.sql
  rm $1.err
    rm tmp
else
   echo "There were errors during conversion.  Please review $1.err and $1.sql for details."
fi
; तब इको "उपयोग: $0 " बाहर निकलना फाई बिल्ली $1 | grep -v ' कुंजी "' | grep -v 'अद्वितीय कुंजी "' | ग्रेप -v 'प्राथमिक कुंजी' | sed '/^SET/d' | sed 's/ अहस्ताक्षरित / /g' | sed 's/ auto_increment/ प्राथमिक कुंजी autoincrement/g' | sed 's/ Smallint([0-9]*) / पूर्णांक /g' | sed 's/ tinyint([0-9]*) / पूर्णांक /g' | sed 's/ int([0-9]*) / पूर्णांक /g' | sed 's/ कैरेक्टर सेट [^ ]* / /g' | sed 's/ enum([^)]*) / varchar(255) /g' | sed 's/ अद्यतन पर [^,]*//g' | perl -e 'local $/;$_=;s/,\n\)/\n\)/gs;प्रिंट "begin;\n";प्रिंट;प्रिंट "commit;\n"' | पर्ल-पे ' अगर (/^(डालें?)\(/) { $a=$1; s/\\'\''/'\'\''/g; s/\\n/\n/g; s/\),\(/\);\n$a\(/g; } ' > $1.sql बिल्ली $1.एसक्यूएल | sqlite3 $1.db > $1.त्रुटि ERRORS=`बिल्ली $1.err | डब्ल्यूसी -एल` यदि [ $त्रुटि == 0 ]; तब इको "रूपांतरण बिना किसी त्रुटि के पूरा हुआ। आउटपुट फ़ाइल: $1.db" आरएम $1.एसक्यूएल आरएम $1.त्रुटि आरएम टीएमपी अन्य इको "रूपांतरण के दौरान त्रुटियां थीं। विवरण के लिए कृपया $1.err और $1.sql की समीक्षा करें।" fi

स्क्रिप्ट निम्नलिखित परिवर्तन करती है:
  • अनावश्यक मुख्य परिभाषाओं को हटा देती है।
  • यदि लागू हो तो फ़ील्ड को अहस्ताक्षरित पर सेट करता है।
  • auto_increment फ़ील्ड सेट करता है प्राथमिक कुंजी ऑटोइन्क्रीमेंट के लिए। varchar(255).
  • अद्यतन ट्रिगर्स के लिए सेट संदर्भ हटाता है।
  • SQLite संगतता के लिए एकाधिक पंक्ति प्रविष्टियों को अलग-अलग प्रविष्टियों में परिवर्तित करता है।
  • सुरक्षा के लिए लेनदेन में परिवर्तित SQL को लपेटता है .
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3