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

Funções de manipulação de strings no SQL
14/02/2021SQL

Funções de manipulação de strings no SQL

Veja as funções de strings mais comuns utilizadas no SQL

Saiba mais...
Consultar uma API de CEP usando SQL Server
16/02/2020SQL

Consultar uma API de CEP usando SQL Server

Veja como consumir uma API de CEP com o SQL Server

Saiba mais...
Convertendo linhas em colunas usando MySQL
13/09/2020SQL

Convertendo linhas em colunas usando MySQL

Aprenda a transformar linhas em colunas no MySQL

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