MySQL批量写入是指一次性向数据库表中插入多条记录的操作。相比于逐条插入,批量写入可以显著提高数据插入的效率,减少网络传输和数据库的I/O操作。
MySQL批量写入主要有以下几种方式:
INSERT INTO ... VALUES (...), (...), ...语法:INSERT INTO ... VALUES (...), (...), ...语法:INSERT INTO ... SELECT ...语法:INSERT INTO ... SELECT ...语法:批量写入适用于以下场景:
MySQL server has gone away错误原因:可能是由于网络问题或MySQL服务器配置不当导致的连接超时。
解决方法:
wait_timeout和interactive_timeout参数值。wait_timeout和interactive_timeout参数值。SET NAMES utf8mb4确保字符集一致。Duplicate entry错误原因:插入的数据中存在重复的键值。
解决方法:
INSERT IGNORE语法忽略重复键值错误。INSERT IGNORE语法忽略重复键值错误。ON DUPLICATE KEY UPDATE语法更新重复键值。ON DUPLICATE KEY UPDATE语法更新重复键值。以下是一个使用Python和MySQL Connector库进行批量写入的示例:
import mysql.connector
# 连接数据库
cnx = mysql.connector.connect(user='username', password='password',
host='hostname', database='database_name')
cursor = cnx.cursor()
# 批量插入数据
sql = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
data = [
('value1', 'value2', 'value3'),
('value4', 'value5', 'value6'),
('value7', 'value8', 'value9')
]
cursor.executemany(sql, data)
cnx.commit()
# 关闭连接
cursor.close()
cnx.close()希望以上信息对你有所帮助!
没有搜到相关的沙龙