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模块restful使用方法实例
Dec 10 Python
python爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 Python
浅谈Python中的数据类型
May 05 Python
解决Django模板无法使用perms变量问题的方法
Sep 10 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
python模块导入的细节详解
Dec 10 Python
Python下简易的单例模式详解
Apr 08 Python
Python3.5面向对象程序设计之类的继承和多态详解
Apr 24 Python
python多进程读图提取特征存npy
May 21 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
Windows10+anacond+GPU+pytorch安装详细过程
Mar 24 Python
python中可以声明变量类型吗
Jun 18 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 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
form自动提交实例讲解
2017/07/10 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
python redis 批量设置过期key过程解析
2019/11/26 Python
Python对象的属性访问过程详解
2020/03/05 Python
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
Myprotein葡萄牙官方网站:英国优质运动营养品牌
2016/09/12 全球购物
送给他或她的礼物:FUN.com
2018/08/17 全球购物
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
Why do we need Unit test
2013/01/03 面试题
产品工艺师的岗位职责
2013/11/15 职场文书
应届生面试求职信
2014/07/02 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
期末个人总结范文
2015/02/13 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL