python对数据库操作——executemany

1、executemany()方法

pymysql的executemany()方法,在一次数据库的IO操作中,可以插入多条记录。在大量数据传输中,它相比于execute()方法,不仅方便,而且提高了效率。

2、语法

executemany(sql,data_list)
#sql就是我们要执行的sql语句
#data_list是一个包含多行数据的列表,每行数据可以用列表[]包裹,也可以用元祖()包裹
#比如:[(1, 小明, 10), (2, 小白, 20)]
#或:[[Ada, 100, 92], [Jack, 89, 97]]

3、案例

import pymysql

data01 = [[1, Ada, 23], 
          [2, Black, 19], 
          [3, Tim, 30]]

data02 = [(4, Green, 25), (5, Bai, 32)]

db = pymysql.connect(host = 127.0.0.1,
                     port = 3306,
                     user = root,
                     password = 19970928,
                     database = stu,
                     charset = utf8)

cur = db.cursor()

try:
    sql = insert into test_table 
                 values(%s, %s, %s);
    cur.executemany(sql, data01)
    cur.executemany(sql, data02)
    
    db.commit()
    print(成功...)
except Exception as e:
    db.rollback()
    print("错误信息:", e)
cur.close()
db.close()

4、区别 

可以看出明显的区别, 如果需要批量插入数据库,还是用 executemany方法 这个和execute 不是一个数量级. 如果只是插入比较少的数量量 用 exectue 比较好点. 总的来说execute与executemany功能差不多,只不过后者比前者速度快一些。

经验分享 程序员 微信小程序 职场和发展