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发送邮件示例(支持中文邮件标题)
Feb 16 Python
Python中优化NumPy包使用性能的教程
Apr 23 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
python人民币小写转大写辅助工具
Jun 20 Python
Python实现对特定列表进行从小到大排序操作示例
Feb 11 Python
python与字符编码问题
May 24 Python
python画双y轴图像的示例代码
Jul 07 Python
python基于K-means聚类算法的图像分割
Oct 30 Python
pycharm显示远程图片的实现
Nov 04 Python
Python中if有多个条件处理方法
Feb 26 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
python Tkinter模块使用方法详解
Apr 07 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
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
JSONP解决JS跨域问题的实现
2020/05/25 Javascript
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
12步入门Python中的decorator装饰器使用方法
2016/06/20 Python
Python生成密码库功能示例
2017/05/23 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
Traffic People官网:女式花裙、上衣和连身裤
2020/10/12 全球购物
国外软件测试工程师面试题
2016/12/09 面试题
服装设计师职业生涯规划范文
2014/02/28 职场文书
小学教师求职信范文
2015/03/20 职场文书
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技