Validando emails com o MySQL

Validando emails com o MySQL

Se você tem uma tabela e deseja validar se os e-mails cadastrados estão no formato correto, pode fazer uma consulta utiilzando expressões regulares. Vamos ver como fazer validação de e-mails no MySQL.

Aqui tem um exemplo de como fazer esta validação:

SELECT * FROM minha_tabela WHERE email NOT REGEXP '^[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9._-]@[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9].[a-zA-Z]{2,63}$'

Um outro exemplo que pode ser útil e verificar qual a quantidade de e-mails cadastrados por domínio. Para isso, precisamos utilizar funções de texto para extrair o nome de domínio (que fica depois da @) e agrupar os resultados. A query a seguir faz esta verificação

SELECT 

RIGHT(email, LENGTH(email) - LOCATE('@', email)) Dominio ,

COUNT(email) Total

FROM  minha_tabela

GROUP BY RIGHT(email, LENGTH(email) - LOCATE('@', email))

ORDER BY Total DESC

Os resultados são ordenados mostrando primeiro os dominios com a maior quantidade de e-mails.

Caso você queira fazer uma consulta para separar o nome do usuário do dominio, pode fazer da seguinte forma:

SELECT 

left(email, LOCATE('@', email) - 1) Usuario,

RIGHT(email, LENGTH(email) - LOCATE('@', email)) Dominio ,

FROM  minha_tabela

 

 

Outros conteudos que podem ser de seu interesse

Localizar colunas por nome ou tipo de dados no SQL
23/07/2023SQL

Localizar colunas por nome ou tipo de dados no SQL

Descubra como localizar uma coluna por nome ou tipo de dados em qualquer tabela de seu banco de dados

Saiba mais...
Formatando diferença de horas entre duas datas com SQL
15/09/2024SQL

Formatando diferença de horas entre duas datas com SQL

Veja como calcular e formatar diferença entre horas com SQL

Saiba mais...
Canais do Youtube para aprender Power Query
04/08/2024SQL

Canais do Youtube para aprender Power Query

Confira os melhores canais do Youtube para aprender Power Query

Saiba mais...

Conteúdo sobre banco de dados sem complicação!


Warning: Cannot modify header information - headers already sent by (output started at /home/storage/f/7d/a9/dbins/public_html/blog/post.php:101) in /home/storage/f/7d/a9/dbins/public_html/blog/ga4_track.php on line 11