多线程执行mysql数据库插入操作
时间: 2023-05-17 10:04:49 浏览: 143
可以使用线程池来实现多线程执行mysql数据库插入操作,具体实现可以参考以下代码:
```python
import mysql.connector
from concurrent.futures import ThreadPoolExecutor
# 创建线程池
executor = ThreadPoolExecutor(max_workers=5)
# 定义插入函数
def insert_data(data):
conn = mysql.connector.connect(host='localhost', user='root', password='123456', database='test')
cursor = conn.cursor()
sql = "INSERT INTO user (name, age) VALUES (%s, %s)"
cursor.execute(sql, data)
conn.commit()
cursor.close()
conn.close()
# 定义数据列表
data_list = [('Tom', 18), ('Jerry', 20), ('Lucy', 22), ('Lily', 25), ('Mike', 30)]
# 使用线程池执行插入操作
for data in data_list:
executor.submit(insert_data, data)
```
以上代码使用了线程池来执行插入操作,可以提高插入效率。同时,每个线程都会创建自己的数据库连接,避免了多个线程共用一个连接的问题。
阅读全文