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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
python3.5仿微软计算器程序
Mar 30 Python
python爬虫爬取网页表格数据
Mar 07 Python
python实现简易数码时钟
Feb 19 Python
python将list转为matrix的方法
Dec 12 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
详解python中的time和datetime的常用方法
Jul 08 Python
python 返回一个列表中第二大的数方法
Jul 09 Python
Django和Flask框架优缺点对比
Oct 24 Python
Python多线程threading join和守护线程setDeamon原理详解
Mar 18 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
Python 通过监听端口实现唯一脚本运行方式
May 05 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 foreach、while性能比较
2009/10/15 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
python分割和拼接字符串
2013/11/01 Python
Python中类型检查的详细介绍
2017/02/13 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
python3中rank函数的用法
2019/11/27 Python
Python创建自己的加密货币的示例
2021/03/01 Python
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
优秀教师的感人事迹
2014/02/04 职场文书
2014年健康教育实施方案
2014/02/17 职场文书
会计核算科岗位职责
2014/03/19 职场文书
语文教育专业求职信
2014/06/28 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
2014年管理工作总结
2014/11/22 职场文书
先进工作者推荐材料
2014/12/23 职场文书
关于开学的感想
2015/08/10 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL