将csv文件上传到mysql表的最佳/最快方法是什么?我想将第一行数据用作列名。
发现了这一点:
如何将CSV文件导入MySQL表
但是唯一的答案是使用GUI而不是Shell?
您无需编写脚本即可从CSV文件中提取信息,而是可以直接将MYSQL链接到该文件并使用以下SQL语法上传信息。
要将Excel文件导入MySQL,请先将其导出为CSV文件。从生成的CSV文件中删除CSV标头,以及Excel可能放在该CSV文件末尾的空数据。
然后,您可以通过运行以下命令将其导入到MySQL表中:
load data local infile 'uniq.csv' into table tblUniq fields terminated by ',' enclosed by '"' lines terminated by '\n' (uniqName, uniqCity, uniqComments)
阅读时:将CSV文件直接导入MySQL
对于您的情况,您需要首先编写一个解释器,以查找第一行并将其分配为列名。
来自MySQL文档中的LOAD DATA语法:
LOAD DATA
该IGNORE number LINES选项可用于忽略文件开头的行。例如,您可以IGNORE 1 LINES用来跳过包含列名称的初始标题行: LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;
该IGNORE number LINES选项可用于忽略文件开头的行。例如,您可以IGNORE 1 LINES用来跳过包含列名称的初始标题行:
IGNORE number LINES
IGNORE 1 LINES
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)