0

每天我都会收到一个带有电话号码的 csv 文件。我已经构建了一个从 csv 中获取数据的数组。我需要做的是遍历数组并在 mysql 数据库中搜索匹配项。您的一位大师能否如此友善地为我指明正确的方向?

4

2 回答 2

2

如果可以的话,将 csv 导入到一个临时表中LOAD DATA,并编写一个查询,将该表与您的电话号码相匹配。

于 2012-12-03T21:35:10.857 回答
2

我建议创建临时表,然后将您的号码加载到此表中,然后只需选择并加入您的表即可。您可以将手机插入程序中(一行中的多行,INSERT或者如果您可以访问服务器外壳,您可以执行以下脚本:

-- you can use TEMPORARY table in one transaction or you can just
-- make sure that the table exists and flush it before import

CREATE TABLE IF NOT EXISTS phonenumbers (
    number varchar(10) primary key
);

TRUNCATE TABLE phonenumbers;

LOAD DATA LOCAL INFILE 'numbers.csv' INTO TABLE phonenumbers;

-- here in script or call it from your program to work with data
-- also you can add  INTO OUTFILE 'output.csv' to export filtered data
-- into outfile 

SELECT addressbook.* FROM addressbook LEFT JOIN phonenumbers on (addressbook.phone = phonenumbers.number);
于 2012-12-03T21:41:13.423 回答