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 用户登录验证的小例子
Mar 06 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
python中不能连接超时的问题及解决方法
Jun 10 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
Python中拆分字符串的操作方法
Jul 23 Python
windows中安装Python3.8.0的实现方法
Nov 19 Python
python输出数组中指定元素的所有索引示例
Dec 06 Python
Python解析多帧dicom数据详解
Jan 13 Python
matplotlib交互式数据光标mpldatacursor的实现
Feb 03 Python
解决python绘图使用subplots出现标题重叠的问题
Apr 30 Python
关于Python中进度条的六个实用技巧分享
Apr 05 Python
Python编写冷笑话生成器
Apr 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概述.
2006/10/09 PHP
MySQL相关说明
2007/01/15 PHP
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
js动态设置select下拉菜单的默认选中项实例
2018/08/21 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
wxPython中文教程入门实例
2014/06/09 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
学习python的前途 python挣钱
2019/02/27 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
Python for循环及基础用法详解
2019/11/08 Python
Python爬取腾讯视频评论的思路详解
2019/12/19 Python
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
国培教师自我鉴定
2014/02/12 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
被告代理词范文
2015/05/25 职场文书