利用multiple_insert()函数在Python中实现快速批量插入多条数据
发布时间:2024-01-19 09:32:38
在Python中,如果需要快速批量插入多条数据到数据库中,可以使用多条插入函数multiple_insert()。该函数可以将多个数据记录放入一个列表中,然后一次性插入到数据库中,从而提高插入操作的效率。
下面是一个使用multiple_insert()函数实现快速批量插入多条数据的例子:
import mysql.connector
def multiple_insert(data_list):
# 建立数据库连接
conn = mysql.connector.connect(user='root', password='password', host='127.0.0.1', database='test')
cursor = conn.cursor()
try:
# 构造插入数据的SQL语句
sql = "INSERT INTO users (name, age) VALUES (%s, %s)"
# 使用executemany()函数一次性插入多条数据
cursor.executemany(sql, data_list)
# 提交事务
conn.commit()
print("数据插入成功")
except Exception as e:
# 发生异常时回滚事务
conn.rollback()
print("数据插入失败:", str(e))
finally:
# 关闭数据库连接
cursor.close()
conn.close()
if __name__ == '__main__':
data_list = [
("Alice", 25),
("Bob", 30),
("Chris", 35)
# 可以继续添加更多的数据记录
]
multiple_insert(data_list)
上述代码示例中,我们首先建立了与数据库的连接,然后定义了multiple_insert()函数。这个函数接受一个数据记录列表作为参数,并使用executemany()函数将数据一次性插入到数据库中。
在multiple_insert()函数中,我们使用了一个try-except-finally代码块来处理数据库操作。在try代码块中,我们执行插入操作,并在成功时提交事务。在except代码块中,如果发生异常,我们回滚事务并打印异常信息。在finally代码块中,我们关闭数据库连接,确保资源的正确释放。
在主程序中,我们定义了一个数据列表data_list用于存储要插入的多条数据记录。我们可以根据自己的需求继续添加更多的数据记录。然后,我们调用multiple_insert()函数,将数据列表作为参数传递进去。
通过这种方式,我们可以快速批量插入多条数据到数据库中,提高了插入操作的效率。
需要注意的是,上述示例中使用了MySQL数据库,并使用了mysql.connector模块进行数据库连接和操作。如果你使用的是其他类型的数据库,可以相应地修改数据库连接和操作的代码。
