MySQL是一种关系型数据库管理系统,用于存储、管理和检索数据。它支持多种数据类型,并提供了丰富的SQL(结构化查询语言)功能来操作数据。
MySQL支持多种方式来存入多条数据,包括:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...), (value3, value4, ...), ...;
INSERT INTO table_name (column1, column2, ...) SELECT column1, column2, ... FROM another_table;
批量插入数据常用于以下场景:
以下是一个使用Python和MySQL Connector库批量插入数据的示例:
import mysql.connector
# 连接到MySQL数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
mycursor = mydb.cursor()
# 准备要插入的数据
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
('John', 'Highway 21'),
('Peter', 'Lowstreet 4'),
('Amy', 'Apple st 652'),
('Hannah', 'Mountain 21'),
('Michael', 'Valley 345'),
('Sandy', 'Ocean blvd 2'),
('Betty', 'Green Grass 1'),
('Richard', 'Sky st 331'),
('Susan', 'One way 98'),
('Vicky', 'Yellow Garden 2'),
('Ben', 'Park Lane 38'),
('William', 'Central st 954'),
('Chuck', 'Main Road 989'),
('Viola', 'Sideway 1633')
]
# 执行批量插入
mycursor.executemany(sql, val)
# 提交事务
mydb.commit()
print(mycursor.rowcount, "条记录已插入。")
原因:可能是SQL语句的语法不正确,或者插入的数据与表结构不匹配。
解决方法:
原因:插入的数据中存在与表中已有数据主键重复的情况。
解决方法:
原因:批量插入大量数据时,可能会导致数据库性能下降。
解决方法:
innodb_buffer_pool_size
和innodb_log_file_size
,以提高性能。希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云