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 相关文章推荐
python3.4用循环往mysql5.7中写数据并输出的实现方法
Jun 20 Python
Python实现简易Web爬虫详解
Jan 03 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
Mar 02 Python
python删除本地夹里重复文件的方法
Nov 19 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
python实现批量文件重命名
Oct 31 Python
wxPython实现绘图小例子
Nov 19 Python
Python zip函数打包元素实例解析
Dec 11 Python
使用python turtle画高达
Jan 19 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
django下创建多个app并设置urls方法
Aug 02 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 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
Linux系统下php获得系统分区信息的方法
2015/03/30 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
json 实例详细说明教程
2009/10/31 Javascript
JQuery选择器特辑 详细小结
2012/05/14 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
js动态切换图片的方法
2015/01/20 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
JavaScript静态作用域和动态作用域实例详解
2019/06/17 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
2019/09/26 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
python flask实现分页效果
2017/06/27 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
2020/12/04 Python
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
购买原创艺术品:Zatista
2019/11/09 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
EJB实例的生命周期
2016/10/28 面试题
工程管理造价应届生求职信
2013/11/13 职场文书
会计学个人自荐信模板
2013/12/13 职场文书
大型车展策划方案
2014/02/01 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
作风整顿剖析材料
2014/09/30 职场文书
大学生受助感言
2015/08/01 职场文书