如何将 CSV 文件导入 MySQL 表?我想将第一行数据用作列名。
我读过 How do I import CSV file into a MySQL table? ,但唯一的答案是使用 GUI 而不是 shell?
最佳答案
您可以直接将 MYSQL 链接到它并使用以下 SQL 语法上传信息,而不是编写脚本来从 CSV 文件中提取信息。
要将 Excel 文件导入 MySQL,请先将其导出为 CSV 文件。从生成的 CSV 文件中删除 CSV header 以及 Excel 可能放在 CSV 文件末尾的空数据。
然后您可以通过运行将其导入 MySQL 表:
load data local infile 'uniq.csv' into table tblUniq fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(uniqName, uniqCity, uniqComments)
如继续阅读:Import CSV file directly into MySQL
编辑
对于您的情况,您需要先编写一个解释器,用于查找第一行并将它们分配为列名。
EDIT-2
来自 MySQL 文档 on LOAD DATA
syntax :
The
IGNORE number LINES
option can be used to ignore lines at the start of the file. For example, you can useIGNORE 1 LINES
to skip over an initial header line containing column names:LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;
因此,您可以使用以下语句:
LOAD DATA LOCAL INFILE 'uniq.csv'
INTO TABLE tblUniq
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(uniqName, uniqCity, uniqComments)
关于mysql - 如何将 CSV 文件导入 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11077801/