python 往mysql数据库中插入多条记录。

本文介绍如何使用Python的pymysql库中的executemany方法来批量插入数据到MySQL数据库,通过示例展示了设置SQL模板字符串及参数列表的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近想写mysql库,用到insert into语句,如何一次性将多条记录插入库表中呢。

 

MySQLdb提供了两个执行语句的方法:一个是execute(),另一个是executemany()

 

execute(sql)

       可接受一条语句从而执行

 

executemany(templet,args)

       能同时执行多条语句,执行同样多的语解码器可比execute()快得多,强烈建议执行多条语句时使用executemany

       templet:sql模板字符串,

             例如: ‘insert into table(id,name) values(%s,%s)’

       args:模板字符串中的参数,是一个列表,列表中的每一个元素必须是元组!!!

             例如:[(1,'小明'),(2,'小红'),(3,'琦琦'),(4,'韩梅梅')]

 



#!/usr/bin/env python
# encoding: utf-8
import pymysql
from config.config import *
import datetime
def get_conn():
conn=pymysql.connect(host=HOST,port=PORT,user=USER,passwd=PASSWORD,db=DB,charset=CHARSET, cursorclass=pymysql.cursors.DictCursor)
return conn
def get_idlist():
datalist=[]
conn=get_conn()
try:
with conn.cursor() as cursor:
sql="select PAGE_CD,PAGE_NAME from sns_page where PAGE_ID in(%s,%s,%s)"%tuple(IDLIST)
print(sql)
cursor.execute(sql)
datalist=cursor.fetchall()
except Exception as e:
print(e.args)
finally:
conn.close()
return datalist
def save_data(dicts):
now=datetime.datetime.now()
conn=get_conn()
data=((now,dicts["PAGE_CD"],"FB","FANS_NUM",dicts["FANS_NUM"],now),(now,dicts["PAGE_CD"],"FB","FOLLOW_NUM",dicts["FOLLOW_NUM"],now))
try:
with conn.cursor() as cursor:
sql="insert into sns_insight_log(LOG_DATE,BIZ_ID,MEDIA_TYPE,ITEM_NAME,DEC_VALUE,UPD_DATE) values(%s,%s,%s,%s,%s,%s)"
cursor.executemany(sql,data)
conn.commit()
except:
conn.rollback()
finally:
conn.close()
if __name__=="__main__":
print(get_idlist())

 

转载于:https://www.cnblogs.com/yoyoma0355/p/10598983.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值