MySQL CSV 导入是指将 CSV(逗号分隔值)文件中的数据导入到 MySQL 数据库中。CSV 文件是一种常见的数据交换格式,易于生成、阅读和处理。通过将 CSV 文件导入 MySQL,可以快速地将大量数据加载到数据库中,便于后续的数据分析和处理。
LOAD DATA INFILE
命令:这是 MySQL 提供的原生命令,用于从本地或远程文件系统导入 CSV 数据。原因:CSV 文件的列数、数据类型或分隔符与数据库表结构不匹配。
解决方法:
LOAD DATA INFILE
命令中的设置一致。原因:CSV 文件的编码与 MySQL 数据库的编码不一致。
解决方法:
LOAD DATA INFILE
命令中指定正确的字符集,如 CHARACTER SET utf8
。原因:数据量过大、网络延迟、服务器性能不足等。
解决方法:
import mysql.connector
import csv
# 连接数据库
db = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
cursor = db.cursor()
# 打开 CSV 文件
with open('data.csv', newline='', encoding='utf-8') as csvfile:
reader = csv.reader(csvfile)
next(reader) # 跳过标题行
for row in reader:
# 构造插入语句
sql = "INSERT INTO yourtable (column1, column2, column3) VALUES (%s, %s, %s)"
cursor.execute(sql, row)
# 提交事务并关闭连接
db.commit()
cursor.close()
db.close()
领取专属 10元无门槛券
手把手带您无忧上云