python mysqldb批量执行语句executemany

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

 

execute(sql)

  可接受一条语句从而执行

 

executemany(templet,args)

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

  templet : sql模板字符串,

                 例如     'insert into table(id,name) values(%s,%s)'

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

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

 

executemany应用实例

 

#coding=utf-8
import
MySQLdb import traceback tmp = "insert into exch_no_rand_auto(stkcode) values(%s);" #SQL模板字符串 l_tupple = [(i,) for i in range(100)] #生成数据参数,list里嵌套tuple class mymysql(object): def __init__(self): self.conn = MySQLdb.connect( host='127.0.0.1', port = 3306, user = 'root', passwd = '123456', db = 'xtp3') def insert_sql(self,temp,data): cur = self.conn.cursor() try: cur.executemany(temp,data) self.conn.commit() except: self.conn.rollback() traceback.print_exc() finally: cur.close() if __name__ == '__main__': m = mymysql() m.insert_sql(tmp,l_tupple)

 

posted @ 2018-08-08 13:01  关关雎鸠`  阅读(41759)  评论(0编辑  收藏  举报