Python 如何实现数据库表结构同步
近日,某个QQ群里的一个朋友提出一个问题,如何将一个DB的表结构同步给另一个DB。
针对这个问题,我进行了思考与实践,具体的实现代码如下所示:
#coding:utf-8
importpymysql
dbDict={"test1":"l-beta.test1"}
dbUser="test"
dbPassword="123456"
classDBUtils():
def__init__(self):
self.conn=pymysql.connect(dbDict['test1'],dbUser,dbPassword)
self.cursor=self.conn.cursor()
defdbSelect(self,sql):
print("------------------------------------")
print(sql)
resultList=[]
self.cursor.execute(sql)
result=self.cursor.fetchall()
columns=self.cursor.description
forvalinresult:
tempDict={}
forcloNuminrange(len(columns)):
tempDict[str(columns[cloNum][0])]=val[cloNum]
resultList.append(tempDict)
print("---------------------打印查询结果----------------------")
print(resultList)
self.dbClose()
returnresultList
defdbExcute(self,sql):
print(sql)
self.cursor.execute(sql)
self.dbClose()
defdbClose(self):
self.conn.commit()
self.cursor.close()
self.conn.close()
if__name__=="__main__":
test=DBUtils()
result=test.dbSelect("selecttable_namefrominformation_schema.tableswheretable_schema='testdb1'")
fordict1inresult:
test=DBUtils()
create_table_sql="createtabletestdb.%sasselect*fromtestdb1.%s"%(dict1['table_name'],dict1['table_name'])
print(create_table_sql)
test.dbExcute(create_table_sql)
示例代码操作简单,通俗易懂,所以没有过多的注释,如有疑问的小伙伴们,可在文章下方评论。
以上就是Python如何实现数据库表结构同步的详细内容,更多关于Python数据库表结构同步的资料请关注毛票票其它相关文章!