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判断字符串编码的简单实现方法(使用chardet)
Jul 01 Python
快速排序的算法思想及Python版快速排序的实现示例
Jul 02 Python
Python内置函数reversed()用法分析
Mar 20 Python
Python中 map()函数的用法详解
Jul 10 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
python将处理好的图像保存到指定目录下的方法
Jan 10 Python
使用python3构建文件传输的方法
Feb 13 Python
Python基于mysql实现学生管理系统
Feb 21 Python
django 通过url实现简单的权限控制的例子
Aug 16 Python
Python如何在bool函数中取值
Sep 21 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 Python
Pandas实现DataFrame的简单运算、统计与排序
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
简化php模板页面中分页代码的解析
2009/02/06 PHP
php 文件上传类代码
2011/08/06 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
$.format,jquery.format 使用说明
2011/07/13 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
JavaScript中数组去除重复的三种方法
2016/04/22 Javascript
浅析jquery与checkbox的checked属性的问题
2016/04/27 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
微信小程序显示下拉列表功能【附源码下载】
2017/12/12 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
vue 路由嵌套高亮问题的解决方法
2018/05/17 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
Python requests模块session代码实例
2020/04/14 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
医科大学生的自我评价
2013/12/04 职场文书
运动会广播稿300字
2014/01/10 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
golang日志包logger的用法详解
2021/05/05 Golang