Validazione degli indirizzi e-mail in Mysql.
Questa query è molto utile per validare gli indirizzi e-mail presenti in una tabella di una banca dati MySql. Ovviamente è necessario sostituire “nome_tabella” con il nome della vostra tabella contenente gli indirizzi e-mail e “email” con il nome del relativo campo.
Query per elencare gli indirizzi e-mail non validi:
SELECT * FROM `nome_tabella` WHERE ((LOCATE(_latin1′
‘, LTRIM(RTRIM(`nome_tabella`.`email`))) <> 0) OR
(LEFT(LTRIM(`nome_tabella`.`email`), 1) = _latin1′@’) OR
(RIGHT(RTRIM(`nome_tabella`.`email`), 1) = _latin1′.’) OR
((LOCATE(_latin1′.’, `nome_tabella`.`email`,LOCATE(_latin1′@’, `nome_tabella`.`email`))
- LOCATE(_latin1′@’, `nome_tabella`.`email`)) <= 1) OR
((LENGTH(LTRIM(RTRIM(`nome_tabella`.`email`))) -
LENGTH(REPLACE(LTRIM(RTRIM(`nome_tabella`.`email`)), _latin1′@’, _latin1”))) <> 1) OR
(LOCATE(_latin1′.’, REVERSE(LTRIM(RTRIM(`nome_tabella`.`email`)))) <
3) OR (LOCATE(_latin1′.@’, `nome_tabella`.`email`) <> 0) OR
(LOCATE(_latin1′..’, `nome_tabella`.`email`) <> 0));
Per eliminarli dalla nostra banca dati, basta sostituire il “SELECT *” con “DELETE”:
DELETE FROM `nome_tabella` WHERE ((LOCATE(_latin1′
‘, LTRIM(RTRIM(`nome_tabella`.`email`))) <> 0) OR
(LEFT(LTRIM(`nome_tabella`.`email`), 1) = _latin1′@’) OR
(RIGHT(RTRIM(`nome_tabella`.`email`), 1) = _latin1′.’) OR
((LOCATE(_latin1′.’, `nome_tabella`.`email`,LOCATE(_latin1′@’, `nome_tabella`.`email`))
- LOCATE(_latin1′@’, `nome_tabella`.`email`)) <= 1) OR
((LENGTH(LTRIM(RTRIM(`nome_tabella`.`email`))) -
LENGTH(REPLACE(LTRIM(RTRIM(`nome_tabella`.`email`)), _latin1′@’, _latin1”))) <> 1) OR
(LOCATE(_latin1′.’, REVERSE(LTRIM(RTRIM(`nome_tabella`.`email`)))) <
3) OR (LOCATE(_latin1′.@’, `nome_tabella`.`email`) <> 0) OR
(LOCATE(_latin1′..’, `nome_tabella`.`email`) <> 0));






