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)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM