我是否可以从 PhpMyAdmin 中编写一个 SQL 查询,该查询将从 .csv 文件中搜索匹配记录并将它们与 MySQL 中的表进行匹配?
基本上我想做一个 WHERE IN 查询,但我希望 WHERE IN 检查本地机器上的 .csv 文件中的记录,而不是数据库中的列。
我可以这样做吗?
我是否可以从 PhpMyAdmin 中编写一个 SQL 查询,该查询将从 .csv 文件中搜索匹配记录并将它们与 MySQL 中的表进行匹配?
基本上我想做一个 WHERE IN 查询,但我希望 WHERE IN 检查本地机器上的 .csv 文件中的记录,而不是数据库中的列。
我可以这样做吗?
我会将 .csv 内容加载到新表中,进行比较/合并并再次删除表。将 .csv 文件加载到 mysql 表中很容易:
LOAD DATA INFILE 'path/to/industries.csv'
INTO TABLE `industries`
FIELDS TERMINATED BY ';'
IGNORE 1 LINES (`nogaCode`, `title`);
你可以告诉 LOAD 命令更多的东西,比如什么 char 包装了条目等。
我会做以下事情:
LOAD DATA INFILE
命令无法在客户端上拥有 CSV 文件,在服务器上拥有表,并且只能使用 SQL 来比较两者的内容。
简短的回答:不,你不能。
长答案:您需要在本地构建查询,可能使用脚本(Python/PHP)或只是将 CSV 上传到表中并进行JOIN
查询(或只是WHERE x IN(SELECT y FROM mytmmpTABLE...)
)
对于任何新询问的人,我使用了这个新工具: Write SQL on CSV file