MySQL 将 CSV 导入数据库中可以通过多种方式实现,以下是几种常见的方法:
LOAD DATA INFILE 语句这是 MySQL 提供的一个非常高效的导入数据的命令。假设你有一个名为 data.csv 的文件,内容如下:
id,name,age
1,Alice,30
2,Bob,25
3,Charlie,35你可以使用以下 SQL 语句将数据导入到 users 表中:
LOAD DATA INFILE '/path/to/data.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;FIELDS TERMINATED BY ',':指定字段之间的分隔符为逗号。ENCLOSED BY '"':指定字段值被双引号包围。LINES TERMINATED BY '\n':指定行之间的分隔符为换行符。IGNORE 1 ROWS:忽略 CSV 文件的第一行(标题行)。mysqlimport 工具mysqlimport 是一个命令行工具,可以用来导入 CSV 文件。假设你的 CSV 文件路径和表结构与上面相同,可以使用以下命令:
mysqlimport --local --fields-terminated-by=',' --fields-enclosed-by='"' --lines-terminated-by='\n' --ignore-lines=1 -u your_username -p your_database_name /path/to/data.csv--local:指定数据文件在本地。--fields-terminated-by=',':指定字段之间的分隔符为逗号。--fields-enclosed-by='"':指定字段值被双引号包围。--lines-terminated-by='\n':指定行之间的分隔符为换行符。--ignore-lines=1:忽略 CSV 文件的第一行(标题行)。-u your_username:指定 MySQL 用户名。-p your_database_name:指定数据库名称。你也可以使用编程语言(如 Python、PHP 等)来读取 CSV 文件并将其插入到 MySQL 数据库中。以下是一个使用 Python 的示例:
import csv
import mysql.connector
# 连接到 MySQL 数据库
db = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="your_database_name"
)
cursor = db.cursor()
# 读取 CSV 文件并插入到数据库中
with open('/path/to/data.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
next(reader) # 跳过标题行
for row in reader:
sql = "INSERT INTO users (id, name, age) VALUES (%s, %s, %s)"
cursor.execute(sql, row)
db.commit()
cursor.close()
db.close()mysql.connector:用于连接 MySQL 数据库。csv.reader:用于读取 CSV 文件。cursor.execute:执行 SQL 插入语句。LOAD DATA INFILE 或 mysqlimport 命令。通过以上方法,你可以将 CSV 文件成功导入到 MySQL 数据库中。