MySQL 批量插入(Batch Insert)是指一次性向数据库表中插入多条记录,而不是逐条插入。这种操作可以显著提高数据插入的效率,因为它减少了与数据库服务器之间的通信次数。
MySQL 批量插入主要有以下几种方式:
INSERT INTO ... VALUES 语法:INSERT INTO ... VALUES 语法:INSERT INTO ... SELECT 语法:INSERT INTO ... SELECT 语法:批量插入适用于以下场景:
MySQL server has gone away 错误原因:这个错误通常是由于插入的数据量过大,超过了 MySQL 服务器的最大允许包大小(max_allowed_packet)。
解决方法:
max_allowed_packet 的大小:max_allowed_packet 的大小:Duplicate entry 错误原因:插入的数据中存在重复的键值,违反了表的唯一性约束。
解决方法:
INSERT IGNORE 语法忽略重复的记录:INSERT IGNORE 语法忽略重复的记录:ON DUPLICATE KEY UPDATE 语法更新重复的记录:ON DUPLICATE KEY UPDATE 语法更新重复的记录:以下是一个使用 Python 和 MySQL Connector 进行批量插入的示例:
import mysql.connector
# 连接到 MySQL 数据库
cnx = mysql.connector.connect(user='user', password='password',
host='host', database='database')
cursor = cnx.cursor()
# 准备批量插入的数据
data = [
('value1', 'value2', 'value3'),
('value4', 'value5', 'value6'),
# ...
]
# 执行批量插入
query = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
cursor.executemany(query, data)
# 提交事务
cnx.commit()
# 关闭连接
cursor.close()
cnx.close()希望这些信息对你有所帮助!
没有搜到相关的沙龙