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