使用过滤器上传CSV文件(Uploading csv file using filters)

2019-07-31 05:10发布

我想下面query.It的成功运行使用CSV数据上传到MySQL表。 有20个万个数据的CSV文件。 不过还是现在我要上传数据时遇到问题。

我的CSV文件的结构是这样的:

Name phone_no     DND
xxx  99934034343  A
xxx  99934034345  D
xxx  99934034346  A
xxx  99934034347  D

我想插入不活跃“A”只使用下面的命令。

LOAD DATA LOCAL INFILE '/root/782012_23.csv'
INTO TABLE tbl_dndno
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n';

预计记录这样

Name phone_no     DND
 xxx  99934034343  A
 xxx  99934034346  A

Answer 1:

我猜你的命令工作正常,但有4行,而不是预期的2填写表格。

文件文档LOAD DATA似乎不支持你问什么,它只能排除号线,所以如果你有办法知道的行号,同时创造这个CSV文件,你可以使用此功能。 否则,有2个解决方法:

你可以加载它(外面的MySQL)先筛选您的文件(在Linux上)

grep "D$" /root/782012_23.csv > filteredfile; LOAD DATA LOCAL INFILE 'filteredfile' ...

或通过SQL加载后进行过滤:

your_command;mysql -u user -ppassword "DELETE FROM yourtable WHERE DND = 'A'";


文章来源: Uploading csv file using filters