pymysql之executemany方法

学习笔记


executemany()方法

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

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

下面就是我们要操作stu数据库里的test_table数据表的结构:

我们用pymysql向其中添加数据行:

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()

备注:值得一提的是,貌似所有数据格式都要求是字符串类型的。好吧,真的是这样么??以后继续研究

运行后,查看mysql中的数据表:

成功导入数据!

发布了141 篇原创文章 · 获赞 24 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/m0_37422217/article/details/105272064