最近想写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())

最新文章

  1. centos7 添加svn
  2. asp.net "true"的小坑
  3. errorlevel
  4. lucene-查询query->PhrasePrefixQuery使用短语缀搜索
  5. sqlmap如何修改线程
  6. jQuery基础修炼圣典—DOM篇(二)jQuery遍历
  7. 实现JavaScript的组成----BOM和DOM
  8. 现代程序设计——homework-01
  9. NekoHTML
  10. Configurataion Printer(基于全新2.2.0API)
  11. 造成win2008 500内部错误不能显示详细错误的原因和解决方法
  12. android之针对fragment多次调用onCreateView的问题
  13. C# Process类_进程_应用程序域与上下文之间的关系
  14. Python第二十一天 fileinput模块
  15. javascript中的隐式类型转化
  16. linux查看tomcat启动运行日志
  17. 软件工程(FZU2015) 赛季得分榜,第9回合
  18. plsql无法正常显示汉字
  19. flask 重定向到上一个页面,referrer、next参数
  20. 当我们跑SparkSQL时候为了更好地了解SparkSQL运行,可以WEBUI看SQL的Tab

热门文章

  1. gdb调试android
  2. 1、写在开头的话——Tinking in Java 绪论之我见
  3. 关于SimpleDateFormat安全的时间格式化线程安全问题
  4. 棋盘游戏,dfs搜索
  5. forms-隐藏处理
  6. Sketchup (待续)
  7. Vue组件的定义、注册和调用
  8. laravel composer
  9. pt和px区别 pt是逻辑像素,px是物理像素
  10. SQL*Plus命令