MySQL是一种关系型数据库管理系统,广泛用于存储和管理数据。在MySQL中,插入数据通常使用INSERT INTO
语句。当你有一个列表(list)需要插入到数据库表中时,可以使用多种方法来实现。
当你需要将大量数据一次性插入到数据库表中时,批量插入非常有用。例如,在数据迁移、数据导入或初始化数据库时。
假设你有一个列表data_list
,其中包含多个字典,每个字典代表一条记录:
import mysql.connector
# 连接到MySQL数据库
db = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
cursor = db.cursor()
# 假设你的表名为 `your_table`,并且有 `column1`, `column2`, `column3` 这些列
data_list = [
{'column1': 'value1', 'column2': 'value2', 'column3': 'value3'},
{'column1': 'value4', 'column2': 'value5', 'column3': 'value6'},
# 更多数据...
]
# 构建批量插入的SQL语句
sql = "INSERT INTO your_table (column1, column2, column3) VALUES (%s, %s, %s)"
values = [(d['column1'], d['column2'], d['column3']) for d in data_list]
# 执行批量插入
cursor.executemany(sql, values)
# 提交事务
db.commit()
# 关闭连接
cursor.close()
db.close()
INSERT IGNORE
或ON DUPLICATE KEY UPDATE
语句来处理冲突。%s
占位符)来防止SQL注入。希望这些信息对你有所帮助!如果你有更多问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云