MySQL批量插入数据是指一次性向数据库表中插入多条记录的操作。相比于逐条插入数据,批量插入可以显著提高数据插入的效率。
MySQL批量插入主要有以下几种方式:
INSERT INTO ... VALUES (...), (...), ...
语法:INSERT INTO ... VALUES (...), (...), ...
语法:INSERT INTO ... SELECT ...
语法:INSERT INTO ... SELECT ...
语法:LOAD DATA INFILE
语法:LOAD DATA INFILE
语法:批量插入数据常用于以下场景:
原因:
解决方法:
LOAD DATA INFILE
语法,直接从文件导入数据,减少网络传输开销。原因:
解决方法:
INSERT IGNORE
或REPLACE INTO
语法处理主键冲突。INSERT IGNORE
或REPLACE INTO
语法处理主键冲突。原因:
解决方法:
以下是一个使用Python和MySQL Connector进行批量插入数据的示例:
import mysql.connector
# 连接数据库
db = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
cursor = db.cursor()
# 批量插入数据
sql = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
val = [
('value1', 'value2', 'value3'),
('value4', 'value5', 'value6'),
('value7', 'value8', 'value9')
]
cursor.executemany(sql, val)
# 提交事务
db.commit()
# 关闭连接
cursor.close()
db.close()
希望这些信息对你有所帮助!如果有更多问题,欢迎继续提问。
领取专属 10元无门槛券
手把手带您无忧上云