需求
将mysql中查找到的数据导入到另一个数据库表中
代码
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
#
import pymysql
# 原始数据的数据连接
db1 = pymysql.connect('127.0.0.1', 'root', '1234', 'test')
cursor1 = db1.cursor()
# 定义查询语句
len1 = cursor1.execute('select id,CAST(createtime AS CHAR) AS createtime,paycount from admin_payinfo limit 100')
# 迁移库的数据连接
db2 = pymysql.connect('192.168.0.110', 'root', '1234', 'test1')
cursor2 = db2.cursor()
# 批量插入语句
sql = 'insert into admin_payinfo(id,createtime,paycount) value(%s, %s, %s)'
# 每次循环导入的数据量
num = 11
for i in range(int(len1/num)):
print(i)
data1 = cursor1.fetchmany(num)
cursor2.executemany(sql, data1)
# 把剩下的数据一次性导入
data2 = cursor1.fetchall()
cursor2.executemany(sql, data2)
# 这种可以全部导入
# data2 = cursor1.fetchall()
# cursor2.executemany(sql, data2)
# 提交到数据库
db2.commit()
# 关闭数据库连接
db1.close()
db2.close()
参考:
1. https://blog.youkuaiyun.com/weixin_38208401/article/details/78808107
2. [python] 查询mysql返回datetime类型数据的处理:https://www.cnblogs.com/oDoraemon/p/7019163.html
3. http://www.runoob.com/python3/python3-mysql.html
本文介绍如何使用Python的pymysql库从一个MySQL数据库抽取数据,并批量导入到另一个MySQL数据库的方法。通过实例演示了数据迁移的具体步骤,包括数据库连接、查询语句执行、数据批量插入等。





