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

मैं पायथन में mysqldump का उपयोग किए बिना एक MySQL डेटाबेस को कैसे डंप कर सकता हूं?

मैंने इस समस्या का समाधान कर लिया है।

import MySQLdb
import os
import datetime

con = MySQLdb.connect(host='localhost', user='root', passwd='password', db='test')
cur = con.cursor()

cur.execute("SHOW TABLES")
data = ""
tables = []
for table in cur.fetchall():
    tables.append(table[0])

for table in tables:
    data += "DROP TABLE IF EXISTS `" + str(table) + "`;"

    cur.execute("SHOW CREATE TABLE `" + str(table) + "`;")
    data += "\n" + str(cur.fetchone()[1]) + ";\n\n"

    cur.execute("SELECT * FROM `" + str(table) + "`;")
    for row in cur.fetchall():
        data += "INSERT INTO `" + str(table) + "` VALUES("
        first = True
        for field in row:
            if not first:
                data += ', '
            data += '"' + str(field) + '"'
            first = False


        data += ");\n"
    data += "\n\n"

now = datetime.datetime.now()
filename = str(os.getenv("HOME")) + "/backup_" + now.strftime("%Y-%m-%d_%H:%M") + ".sql"

FILE = open(filename,"w")
FILE.writelines(data)
FILE.close()

थोड़ा परीक्षण से अच्छा काम करने लगता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जन्मदिन स्टोर करने के लिए सबसे अच्छा क्षेत्र कौन सा है?

  2. MySQL LIKE क्वेरी में PHP स्ट्रिंग का उपयोग कैसे करें?

  3. ऑटोमैपिंग के साथ धाराप्रवाह NHibernate डुप्लिकेट मैपिंग अपवाद

  4. सोलर डेटा आयात हैंडलर का उपयोग करके mySQL से सोलर में बहु-मूल्यवान फ़ील्ड आयात करना

  5. सिद्धांत 2 और group_concat