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基础之输入和输出实例分析
Aug 18 Python
Python中字符串格式化str.format的详细介绍
Feb 17 Python
Python实现邮件的批量发送的示例代码
Jan 23 Python
在python中使用xlrd获取合并单元格的方法
Dec 26 Python
python可视化实现代码
Jan 15 Python
使用pip安装python库的多种方式
Jul 31 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 Python
Python GUI库PyQt5图形和特效样式QSS介绍
Feb 25 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 Python
解决python3安装pandas出错的问题
May 20 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编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
vue实现弹幕功能
2019/10/25 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
python与php实现分割文件代码
2017/03/06 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
python 正则表达式参数替换实例详解
2020/01/17 Python
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
英国著名国际平价时尚男装品牌:Topman
2016/08/27 全球购物
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书