并发写入mysql数据库的pyhton例子
以下是一个简单的Python程序,演示如何在MySQL数据库中并发写入数据:
import mysql.connector
import threading
# 创建MySQL连接
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
# 定义插入函数
def insert_data(name, age):
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, age) VALUES (%s, %s)"
val = (name, age)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "记录插入成功。")
# 定义线程函数
def insert_thread(name, age):
for i in range(100):
insert_data(name, age)
# 创建两个线程并启动它们
t1 = threading.Thread(target=insert_thread, args=("Alice", 20))
t2 = threading.Thread(target=insert_thread, args=("Bob", 25))
t1.start()
t2.start()
# 等待线程完成
t1.join()
t2.join()
# 关闭MySQL连接
mydb.close()
该程序创建了一个MySQL连接,并定义了一个插入函数 insert_data(),用于将数据插入到 MySQL 数据库中的 customers 表中。然后,定义了一个线程函数 insert_thread(),用于启动多个线程并在每个线程中调用 insert_data() 函数,以模拟并发写入数据的情况。
在主程序中,创建了两个线程,并启动它们。然后等待线程完成,并关闭 MySQL 连接。
需要注意的是,由于 MySQL 是一个关系型数据库,其插入操作是有锁机制的,因此并发写入可能会导致性能下降。因此,在实际应用中,需要根据实际情况来选择合适的并发策略
原文地址: https://www.cveoy.top/t/topic/eRxT 著作权归作者所有。请勿转载和采集!