#1、加载所需要的包
import pymysql
import time
time1 = time.time()
#2、查询的数据表
db2 = pymysql.connect('112.128.0.001', 'root', '123456', 'db')
cursor2 = db2.cursor()
len2 = cursor2.execute('SELECT * from xxxx')
#3、插入的数据表
db1=pymysql.connect('localhost','root','123456','db')
cursor1=db1.cursor()
sql="insert into xxxx" \
"(a,b,c,d,e,f,g,r,s,t,j)" \
" value(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
4、事务加批量插入
num = 11
for i in range(int(len2 / num)):
# print(i)
# 获取num条记录
data1 = cursor2.fetchmany(num)
# executemany能同时执行多条语句,第一个参数为sql模板字符串,第二个为sql的参数,是一个列表
cursor1.executemany(sql, data1)
5、最后一次性全部导入
data2 = cursor2.fetchall()
cursor1.executemany(sql, data2)
db1.commit()
db1.close()
db2.close()
print(time.time() - time1)
最后我插入1000万数据大概耗时100s,是不是很快呢,喜欢这篇文章就点击一下关注吧。