I export a database using mysqldump
in the sql.gz
format using a python script. How can I import that sql.gz
file using this python script?
I wrote code which works for .sql
or .txt
files.
import MySQLdb
filename = self.ui.txtFileLocationImport.text()
# Open database connection
db = MySQLdb.connect(dbHostName, dbUser, dbPassword, databaseName)
# prepare a cursor object using cursor() method
cursor = db.cursor()
#Prepare SQL query to INSERT a record into the database.
f = open(filename , 'r')
try:
cursor.execute('SET foreign_key_checks = 0')
for sql in f:
if sql == '\n' or sql[0] == '/':
pass
else:
# Execute the SQL command
cursor.execute(str(sql))
#Commit your changes in the database
cursor.execute('SET foreign_key_checks = 1')
db.commit()
except Exception as e:
print e
# Rollback in case there is any error
db.rollback()
#close file
f.close()
# disconnect from server
db.close()
This only works for .txt
and .sql
file. How can I make this read a sql.gz
file?