1

我是否可以从 PhpMyAdmin 中编写一个 SQL 查询,该查询将从 .csv 文件中搜索匹配记录并将它们与 MySQL 中的表进行匹配?

基本上我想做一个 WHERE IN 查询,但我希望 WHERE IN 检查本地机器上的 .csv 文件中的记录,而不是数据库中的列。

我可以这样做吗?

4

4 回答 4

4

我会将 .csv 内容加载到新表中,进行比较/合并并再次删除表。将 .csv 文件加载到 mysql 表中很容易:

LOAD DATA INFILE 'path/to/industries.csv' 
INTO TABLE `industries` 
FIELDS TERMINATED BY ';' 
IGNORE 1 LINES (`nogaCode`, `title`);

你可以告诉 LOAD 命令更多的东西,比如什么 char 包装了条目等。

于 2009-08-12T22:00:25.317 回答
2

我会做以下事情:

  1. 在服务器上创建临时表或 MEMORY 表
  2. 将 CSV 文件复制到服务器
  3. 使用LOAD DATA INFILE命令
  4. 进行比较

无法在客户端上拥有 CSV 文件,在服务器上拥有表,并且只能使用 SQL 来比较两者的内容。

于 2009-08-12T22:02:06.933 回答
1

简短的回答:不,你不能。

长答案:您需要在本地构建查询,可能使用脚本(Python/PHP)或只是将 CSV 上传到表中并进行JOIN查询(或只是WHERE x IN(SELECT y FROM mytmmpTABLE...)

于 2009-08-12T21:58:49.453 回答
0

对于任何新询问的人,我使用了这个新工具: Write SQL on CSV file

于 2018-07-19T15:00:47.250 回答