import pymysql
import time
db = pymysql.connect("IP","username","password","database",charset='utf8')
cursor = db.cursor()
#数据库中的字段只是我自己的,可以根据所用字段自己进行测试。
#期格式要进行日期格式化,这一点还没找到好的方法处理
cursor.execute("""
SELECT
shop_name,
receiver_area,
receiver_address,
date_format(pay_time,'%Y-%m-%d %H-%i-%s'),
buyer_nick,
receiver_name,
receiver_mobile
FROM detial limit 15000 """)
#此处是显示全部要入库的数据
data = cursor.fetchall()
start = time.time()
#批量插入语句
cursor.executemany("""insert into d1
(shop_name,receiver_area,receiver_address,pay_time,buyer_nick,receiver_name,receiver_mobile)
values (%s,%s,%s,%s,%s,%s,%s)"""data)
#批量更新插入数据 on duplicate key update 跟要更新的数据 必须要有主键
cursor.executemany("""insert into d1
(shop_name,receiver_area,receiver_address,pay_time,buyer_nick,receiver_name,receiver_mobile)
values (%s,%s,%s,%s,%s,%s,%s)
on duplicate key update receiver_name = values (receiver_name)""",data)
#必须要执行此操作才能写入到数据库
db.commit()
cursor.close()
db.close()
end =time.time()
print(end -start)
#目前只用到批量插入,和判断是否存在数据,如果存在就更新数据,否则就插入,以后用到别的继续更新