MySQL LIKE Keyword
A palavra-chave LIKE
no MySQL é usada para correspondência de padrões em consultas SQL. Ele permite que você pesquise um padrão especificado em uma coluna, geralmente usado com as instruções SELECT
para filtrar resultados.
Uso
A palavra-chave LIKE
é utilizada nas cláusulas WHERE
para localizar registros que correspondam a um padrão específico. Ele suporta dois caracteres curinga: %
corresponde a qualquer sequência de caracteres e _
corresponde a um único caractere.
sql
SELECT column1, column2, ...
FROM table_name
WHERE column_name LIKE pattern;
Nessa sintaxe, LIKE pattern
é usado para filtrar as linhas em que column_name
corresponde ao padrão especificado.
Exemplos
1. Correspondência de padrões básicos
sql
SELECT *
FROM products
WHERE product_name LIKE 'a%';
Essa consulta recupera todas as linhas da tabela products
em que o product_name
começa com a letra "a".
2. Caractere único curinga
sql
SELECT *
FROM employees
WHERE last_name LIKE 'Sm_th';
Este exemplo obtém linhas da tabela employees
em que last_name
tem cinco caracteres, começando com "Sm" e terminando com "th", com qualquer caractere único no meio.
3. Combinação de curingas
sql
SELECT *
FROM customers
WHERE address LIKE '%Street%';
Aqui, a consulta seleciona registros da tabela customers
em que address
contém a palavra "Street" em qualquer parte da cadeia.
4. Aplicando a sensibilidade a maiúsculas e minúsculas
sql
SELECT *
FROM users
WHERE BINARY username LIKE 'Admin%';
Este exemplo aplica a sensibilidade a maiúsculas e minúsculas e recupera linhas em que username
começa com "Admin", considerando o caso exato.
Dicas e práticas recomendadas
- Use curingas com moderação. O uso excessivo do site
%
pode levar a varreduras de tabelas completas, o que pode afetar o desempenho. A indexação geralmente é ineficaz quando%
está no início de um padrão. - Sensibilidade a maiúsculas e minúsculas e agrupamentos.
LIKE
não diferencia maiúsculas de minúsculas para a maioria dos agrupamentos, mas alguns diferenciam maiúsculas de minúsculas. Use o siteBINARY
para aplicar a sensibilidade a maiúsculas e minúsculas, se necessário. Ele também pode ser usado com conjuntos de caracteres Unicode, afetando caracteres especiais. - Otimize com índices. Considere a possibilidade de criar índices em colunas usadas com frequência com
LIKE
para melhorar o desempenho da consulta, embora você deva observar que os curingas no início do padrão podem anular esses benefícios. - Combine com outras condições. Aumente a eficiência da consulta combinando
LIKE
com outras condições na cláusulaWHERE
. - Análise de desempenho. Use o site
EXPLAIN
para analisar como as consultasLIKE
afetam o desempenho e ajustar suas consultas de acordo.