多條插入用excutemany(listtuple)
#coding=utf-8excute和excutemany速度對比import
mysqldb
import
traceback
sqlstr
= "insert into table1 values(%s,%s,%s,%s);"
#sql模板字串 如果懶的寫每乙個屬性對應的字段,那麼後面的s%的個數要和資料庫表中屬性個數一樣(所有型別,都用%s表示)
lists=[[1,2,3,4],[2,3,4,5],[3,4,5,6]]
datalist= [tuple(x) for x in lists] # 引數是乙個個元組,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,sqlstring,data):
cur =self.conn.cursor()
try:
cur.executemany(sqlstring,data)
self.conn.commit()
except:
self.conn.rollback()
traceback.print_exc()
finally
: cur.close()
if __name__ == '__main__':
m =mymysql()
m.insert_sql(sqlstr,datalist)
參考:
MySQL插入多條記錄
原文 nsert into users name,age values 姚明 25 比爾.蓋茨 50 火星人 600 上面的insert 語句向users表中連續插入了3條記錄。值得注意的是,上面的insert語句中的values後必須每一條記錄的值放到一對 中,中間使用 分割。假設有乙個表tabl...
oracle插入多條語句
insert into 表名 欄位1,欄位2 select 一 二 from dual union all select 三 四 from dual union all select 五 六 from dual union all select 七 八 from dual union all sel...
SqlServer 插入多條資料
插入一條資料使用default關鍵字 insert into student studentno,loginpwd,studentname,gradeid,phone,address,borndate,email values 001 12345 張三 男 1,1234567890123 defau...