电子邮件列表,删除表格中的行

时间:2011-10-03 21:13:01

标签: mysql sql-delete

如果我在.txt文件中有一个电子邮件帐户列表,有没有办法可以针对包含电子邮件帐户的行的每个实例执行mysql delete语句?

我们有一个时事通讯邮件列表,目前大约有600封电子邮件无效,除了手动逐一进行操作外,我们还想要一种更简单的方法来摆脱它们。

3 个答案:

答案 0 :(得分:5)

使用excel将数据集转换为逗号分隔的字符串,然后简单地:

DELETE FROM YOUR_TABLE
WHERE email IN ('example@aol.com', 'example2@aol.com') 

请注意,您还需要在excel中的每个电子邮件地址之前和之后手动添加单引号。

答案 1 :(得分:3)

假设您要使用文本文件的内容作为要从数据库中删除的地址来源:

$addreses = file('emails.txt');
foreach($addresses as $address) {
    $safe_address = mysql_real_escape_string($address);
    $sql = "DELETE FROM yourtable WHERE (email = '$safe_address');";
    $result = mysql_query($sql) or die(mysql_error());
}

是最简单的形式。您可以执行一些操作来优化流程,例如以引号/逗号分隔的形式创建电子邮件列表,然后使用WHERE IN (...)来减少生成/执行的查询数量。

请注意,我使用PHP作为伪代码占位符,但几乎所有语言的基本原理都是相同的。

答案 2 :(得分:0)

如何为delete statement创建single email,然后使用Microsoft excel完成其余的电子邮件?通过使用连接函数并与所选电子邮件列表匹配