为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL使用Load Data INFILE从CSV导入数据

MySQL使用Load Data INFILE从CSV导入数据

森林海 2019-07-10 15:00:41
MySQL使用Load Data INFILE从CSV导入数据我将从CSV文件中导入一些20000行的数据到mysql中。CSV中的列与MySQL表的列的顺序不同。如何自动分配与MySQL表列对应的列?当我执行LOAD DATA INFILE'abc.csv' INTO TABLE abc此查询将所有数据添加到第一列。请建议将数据导入MySQL的自动语法。
查看完整描述

3 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

你可以用负载数据信息命令导入CSV把文件放进桌子里。

检查这个链接MySQL-加载数据INFILE.

LOAD DATA LOCAL INFILE 'abc.csv' INTO TABLE abc
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n'IGNORE 1 LINES(col1, col2, col3, col4, col5...);

对于MySQL8.0用户:

使用LOCAL关键字保存安全风险,并且在MySQL8.0中,LOCAL能力设置为False默认情况下。您可能会看到错误:

错误1148:此MySQL版本不允许使用所使用的命令

您可以按照文档中的说明..请注意,这种覆盖并不能解决安全问题,而只是承认您知道并愿意承担风险。


查看完整回答
反对 回复 2019-07-10
?
jeck猫

TA贡献1909条经验 获得超7个赞

您可能需要设置FIELDS TERMINATED BY ','或者不管分隔符是什么。

对于CSV文件,您的语句应该如下所示:

LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name
FIELDS TERMINATED BY ',' ENCLOSED BY '"'LINES TERMINATED BY '\r\n'IGNORE 1 LINES;


查看完整回答
反对 回复 2019-07-10
  • 3 回答
  • 0 关注
  • 1793 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信