Palabra clave LIKE en MySQL
La palabra clave LIKE
en MySQL se utiliza para la concordancia de patrones en las consultas SQL. Te permite buscar un patrón especificado en una columna, se utiliza habitualmente con las sentencias SELECT
para filtrar los resultados.
Utilización
La palabra clave LIKE
se utiliza en las cláusulas WHERE
para buscar registros que coincidan con un patrón específico. Admite dos caracteres comodín: %
coincide con cualquier secuencia de caracteres, y _
coincide con un solo carácter.
sql
SELECT column1, column2, ...
FROM table_name
WHERE column_name LIKE pattern;
En esta sintaxis, LIKE pattern
se utiliza para filtrar las filas en las que column_name
coincide con el patrón especificado.
Ejemplos
1. Concordancia básica de patrones
sql
SELECT *
FROM products
WHERE product_name LIKE 'a%';
Esta consulta recupera todas las filas de la tabla products
cuyo product_name
empiece por la letra "a".
2. Comodín de un solo carácter
sql
SELECT *
FROM employees
WHERE last_name LIKE 'Sm_th';
Este ejemplo obtiene filas de la tabla employees
en las que last_name
tiene cinco caracteres, empezando por "Sm" y acabando por "th", con cualquier carácter intermedio.
3. Combinar comodines
sql
SELECT *
FROM customers
WHERE address LIKE '%Street%';
Aquí, la consulta selecciona los registros de la tabla customers
en los que address
contiene la palabra "Calle" en cualquier lugar de la cadena.
4. Aplicar la sensibilidad a mayúsculas y minúsculas
sql
SELECT *
FROM users
WHERE BINARY username LIKE 'Admin%';
Este ejemplo aplica la distinción entre mayúsculas y minúsculas y recupera las filas en las que el username
empieza por "Admin", teniendo en cuenta el caso exacto.
Consejos y buenas prácticas
- Utiliza los comodines con moderación. El uso excesivo de
%
puede provocar escaneos completos de la tabla, lo que puede afectar al rendimiento. La indexación suele ser ineficaz cuando%
está al principio de un patrón. - Sensibilidad a mayúsculas y minúsculas y colaciones.
LIKE
no distingue entre mayúsculas y minúsculas en la mayoría de las colaciones, pero en algunas sí. UtilizaBINARY
para aplicar la distinción entre mayúsculas y minúsculas si es necesario. También se puede utilizar con conjuntos de caracteres Unicode, lo que afecta a los caracteres especiales. - Optimiza con índices. Considera la posibilidad de crear índices en columnas utilizadas frecuentemente con
LIKE
para mejorar el rendimiento de la consulta, aunque ten en cuenta que los comodines al principio del patrón pueden anular estas ventajas. - Combínalo con otras condiciones. Aumenta la eficacia de la consulta combinando
LIKE
con otras condiciones en la cláusulaWHERE
. - Análisis del rendimiento. Utiliza
EXPLAIN
para analizar cómo afectan las consultas aLIKE
al rendimiento y ajusta tus consultas en consecuencia.