如何通过比较mySQL中的唯一id来提取多条记录。
我有一个excel文件。
它有36k个记录,每个记录上都有唯一的id。
唯一Id是从11493 (最小值)到258090 (最大值)开始的随机数-原因是,它是在一个阶段从70万条记录的主表中提取的。
MySQL中的主表- Phpmyadmin超过700k条记录
我需要比较唯一的Id与700k表的唯一id,并获取所有36k记录
在excel文件和表格中有一个共同唯一ID
我如何才能做到这一点?
发布于 2014-01-31 13:29:39
您可以将数据加载到临时表中,并将其与真实表连接,以获得所需的记录。这就是你要做的
1)创建临时表。添加相关索引以加快查询速度。
create temporary table record_ids (int id);2)将数据从excel文件(导出为CSV)加载到临时表中
LOAD DATA INFILE "<path to your file>"
INTO TABLE record_ids
COLUMNS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;3)通过连接临时表获取您想要的记录。
SELECT at.*
FROM actual_table at
INNER JOIN record_ids ri
ON at.id = ri.id = at.id; 发布于 2014-01-31 13:19:56
最简单的方法是创建一个简单的查询,如下所示:
select * from TABLENAME where unique_id in (COMMA SEPARATED UNIQUE IDS);假设你知道如何在excel文件中用逗号分隔它们。
这就是全部
https://stackoverflow.com/questions/21472763
复制相似问题