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 数据库中。
领取专属 10元无门槛券
手把手带您无忧上云