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:
1 2 3 4 5 6 7 8 9 10 11 | SELECT * FROM `<strong>nome_tabella</strong>` WHERE ((LOCATE(_latin1' ', LTRIM(RTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`))) <> 0) OR (LEFT(LTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`), 1) = _latin1'@') OR (RIGHT(RTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`), 1) = _latin1'.') OR ((LOCATE(_latin1'.', `<strong>nome_tabella</strong>`.`<strong>email</strong>`,LOCATE(_latin1'@', `<strong>nome_tabella</strong>`.`<strong>email</strong>`)) - LOCATE(_latin1'@', `<strong>nome_tabella</strong>`.`<strong>email</strong>`)) <= 1) OR ((LENGTH(LTRIM(RTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`))) - LENGTH(REPLACE(LTRIM(RTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`)), _latin1'@', _latin1''))) <> 1) OR (LOCATE(_latin1'.', REVERSE(LTRIM(RTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`)))) < 3) OR (LOCATE(_latin1'.@', `<strong>nome_tabella</strong>`.`<strong>email</strong>`) <> 0) OR (LOCATE(_latin1'..', `<strong>nome_tabella</strong>`.`<strong>email</strong>`) <> 0)); |
Per eliminarli dalla nostra banca dati, basta sostituire il “SELECT *” con “DELETE”:
1 2 3 4 5 6 7 8 9 10 11 | DELETE FROM `<strong>nome_tabella</strong>` WHERE ((LOCATE(_latin1' ', LTRIM(RTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`))) <> 0) OR (LEFT(LTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`), 1) = _latin1'@') OR (RIGHT(RTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`), 1) = _latin1'.') OR ((LOCATE(_latin1'.', `<strong>nome_tabella</strong>`.`<strong>email</strong>`,LOCATE(_latin1'@', `<strong>nome_tabella</strong>`.`<strong>email</strong>`)) - LOCATE(_latin1'@', `<strong>nome_tabella</strong>`.`<strong>email</strong>`)) <= 1) OR ((LENGTH(LTRIM(RTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`))) - LENGTH(REPLACE(LTRIM(RTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`)), _latin1'@', _latin1''))) <> 1) OR (LOCATE(_latin1'.', REVERSE(LTRIM(RTRIM(`<strong>nome_tabella</strong>`.`<strong>email</strong>`)))) < 3) OR (LOCATE(_latin1'.@', `<strong>nome_tabella</strong>`.`<strong>email</strong>`) <> 0) OR (LOCATE(_latin1'..', `<strong>nome_tabella</strong>`.`<strong>email</strong>`) <> 0)); |