2013-05-08 9 views
0

사용자 데이터베이스를 보유하고있는 웹 호스트에 MySQL 데이터베이스가 있습니다. 해당 데이터베이스 내에서 모든 고객의 전자 메일 주소를 저장합니다. 고객 목록과 마케팅 목록이 있습니다. 분기 별 뉴스 레터를 발송하고 반송 된/반송 된 메시지를 수집하는 Outlook "메일 규칙"을 만들었습니다. 그런 다음 반환 된/반송 된 메시지의 폴더를 스캔하고 엑셀 스프레드 시트로 내보낼 전자 메일 주소를 수집하는 스크립트를 실행합니다.MySQL5 데이터베이스를 어떻게 일괄 검색 할 수 있습니까?

이제 전자 메일 주소 목록을 phpMyAdmin에서 검색 명령을 실행하여 데이터베이스를 검색하여 삭제할 수 있도록했습니다.

Excel에서 목록을 쉼표로 구분하여 내보낼 수 있지만 여러 항목에 대해 데이터베이스를 검색하는 방법을 알 수는 없습니다. 나는 그것이 [email protected], [email protected], [email protected] 등등을 검색하는 방법이라고 생각했다. 결과는 모든 응답을 보여줄 것이고 나는 다음과 같이 할 수있다. "select all"을 선택하여 데이터베이스에서 항목을 제거하십시오.

누구든지이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

답변

1

필자는 파일을 읽고 줄 바꿈으로 분리 한 스크립트 (PHP는 나의 fav lang)를 작성한 다음 ','분리 문자로 다시 결합했습니다. 마지막으로 DELETE FROM 명령을 실행합니다. 이 같은

뭔가 :

<?php 
$emails = "'".implode("','", explode("\n", file_get_contents('my_csv_file.csv')))."'"; 
$db->query("DELETE FROM table_name WHERE email IN (".$emails.")"); 
?> 
+0

윌 데이터베이스에 정크 이상 남아있는 상태로 둡니다? 결과를 표시 한 후 "모두 선택"을 선택하는 이유는 전체 고객을 삭제할 수 있기 때문입니다. 각 고객은 firstname/lastname/email/subscribed/code/store_id에 대한 테이블을 가지고 있습니다. – user2360421

+0

예, 연결된 테이블 항목을 삭제하지 않으면 데이터베이스에 정크가 남습니다. table_name에서 모든 기본 키를 선택한 다음 다른 테이블의 모든 관련 항목을 삭제해야합니다. –

+0

결과를 나열하고 고객 전체를 삭제할 수있는 간단한 방법이 있습니까? – user2360421