Python 定时同步远程数据库的某个表中数据到另一个数据库的某个表(版本1)

话不多直接上脚本,新手写法-还请指点


#-*- coding: utf-8 -*-
import pymysql

#根据id同步,获取本地最大ID
def loacl():
    db =pymysql.connect(‘127.0.0.1’','root','PASSWORD','DETABASES',charset='utf8')
    cursor = db.cursor()
    sql= "select  id from 表 order by id desc limit 1"
    cursor.execute(sql)
    results = cursor.fetchall()
    return results
    db.close()

def readAndWrite(old_id):
    db =pymysql.connect('远程数据库', '用户', '密码', '库',‘端口’,charset='utf8')
    cursor = db.cursor()
    sql= "select * from 源表 where id > %s " % (old_id)
    cursor.execute(sql)
    results = cursor.fetchall()
    #插入获取到的新数据到本地    
      for value in results:
        write=pymysql.connect(‘127.0.0.1’','root','PASSWORD','DETABASES',charset='utf8')
        Wcursor =write.cursor()
        writeSql = "INSERT INTO 本地表 (列1,列2,列3,列4) " \
                    "VALUE ('%s', '%s', '%s', '%s')"  %  (value[1], value[2], value[3], value[4])
        print(writeSql)
        try:
            Wcursor.execute(writeSql)
            write.commit()
        except:
            write.rollback()
        write.close()
    cursor.close()
    db.close()

old_sq =loacl()
for id in old_sq:
    old_id = id[0]
    readAndWrite(o_id)

在系统里写个自动任务,定时跑就好了

猜你喜欢

转载自blog.csdn.net/liyyzz33/article/details/84257509
今日推荐