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中随机函数random用法实例
Apr 30 Python
Python3.5 创建文件的简单实例
Apr 26 Python
python版本的仿windows计划任务工具
Apr 30 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
python读取文本绘制动态速度曲线
Jun 21 Python
python 读取摄像头数据并保存的实例
Aug 03 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
详解PANDAS 数据合并与重塑(join/merge篇)
Jul 09 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
python shutil文件操作工具使用实例分析
Dec 25 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 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/11/26 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
CodeIgniter配置之config.php用法实例分析
2016/01/19 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
javascript attachEvent和addEventListener使用方法
2009/03/19 Javascript
URL地址中的#符号使用说明
2011/02/12 Javascript
js对象与打印对象分析比较
2013/04/23 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
vue观察模式浅析
2018/09/25 Javascript
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
js实现双人五子棋小游戏
2020/05/28 Javascript
js实现车辆管理系统
2020/08/26 Javascript
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
python实现对csv文件的列的内容读取
2018/07/04 Python
浅谈numpy生成数组的零值问题
2018/11/12 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
PyTorch实现AlexNet示例
2020/01/14 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
英国女装网上商店:I Saw It First
2018/10/18 全球购物
Sql面试题
2013/03/20 面试题
消防安全汇报材料
2014/02/08 职场文书
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
2014年消防工作总结
2014/11/21 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang