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功能差不多,只不过后者比前者速度快一些。 


版权声明:本文为qq_41404557原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。