Python 如何实现数据库表结构同步


Posted in Python onSeptember 29, 2020

近日,某个QQ 群里的一个朋友提出一个问题,如何将一个DB 的表结构同步给另一个DB。
针对这个问题,我进行了思考与实践,具体的实现代码如下所示:

# coding:utf-8
import pymysql

dbDict = {"test1":"l-beta.test1"}
dbUser = "test"
dbPassword = "123456"

class DBUtils():
  def __init__(self):
    self.conn = pymysql.connect(dbDict['test1'], dbUser, dbPassword)
    self.cursor = self.conn.cursor()

  def dbSelect(self, sql):
    print("------------------------------------")
    print(sql)
    resultList = []
    self.cursor.execute(sql)
    result = self.cursor.fetchall()
    columns = self.cursor.description
    for val in result:
      tempDict = {}
      for cloNum in range(len(columns)):
        tempDict[str(columns[cloNum][0])] = val[cloNum]
      resultList.append(tempDict)
    print("---------------------打印查询结果----------------------")
    print(resultList)
    self.dbClose()
    return resultList

  def dbExcute(self, sql):
    print(sql)
    self.cursor.execute(sql)
    self.dbClose()

  def dbClose(self):
    self.conn.commit()
    self.cursor.close()
    self.conn.close()


if __name__ == "__main__":
  test = DBUtils()
  result = test.dbSelect("select table_name from information_schema.tables where table_schema='testdb1'")
  for dict1 in result:
    test = DBUtils()
    create_table_sql = "create table testdb.%s as select * from testdb1.%s" % (dict1['table_name'],dict1['table_name'])
    print(create_table_sql)
    test.dbExcute(create_table_sql)

示例代码操作简单,通俗易懂,所以没有过多的注释,如有疑问的小伙伴们,可在文章下方评论。

以上就是Python 如何实现数据库表结构同步的详细内容,更多关于Python 数据库表结构同步的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
使用Python抓取模板之家的CSS模板
Mar 16 Python
浅析python继承与多重继承
Sep 13 Python
python RC4加密操作示例【测试可用】
Sep 26 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
Pandas时间序列:时期(period)及其算术运算详解
Feb 25 Python
Django-migrate报错问题解决方案
Apr 21 Python
Python中关于logging模块的学习笔记
Jun 03 Python
Python Selenium库的基本使用教程
Jan 04 Python
Python Socket编程详解
Apr 25 Python
pandas数值排序的实现实例
Jul 25 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
Sep 29 #Python
python ssh 执行shell命令的示例
Sep 29 #Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
Sep 29 #Python
浅析python 字典嵌套
Sep 29 #Python
详解基于Scrapy的IP代理池搭建
Sep 29 #Python
Python 创建守护进程的示例
Sep 29 #Python
Python 解析xml文件的示例
Sep 29 #Python
You might like
把PHP安装为Apache DSO
2006/10/09 PHP
php代码优化及php相关问题总结
2006/10/09 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
这些年、我收集的JQuery代码小结
2012/08/01 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
[06:07]刀塔密之二:攻之吾命受之吾幸
2014/07/03 DOTA
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
Python 中 Meta Classes详解
2016/02/13 Python
Python中元组,列表,字典的区别
2017/05/21 Python
对numpy的array和python中自带的list之间相互转化详解
2018/04/13 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
基于python plotly交互式图表大全
2019/12/07 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
挪威手表购物网站:Klokker
2016/09/19 全球购物
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
拖鞋店创业计划书
2014/01/15 职场文书
个人借款担保书
2014/04/02 职场文书
董事长助理岗位职责
2015/02/11 职场文书
暂停营业通知
2015/04/25 职场文书
法定代表人资格证明书
2015/06/18 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书