Cláusula LIKE de MySQL
Sabemos que en MySQL se usaSELECTel comando para leer datos, y también podemosSELECTusar en la declaraciónWHEREla cláusula para obtener los registros especificados.
En la cláusula WHERE se puede usar el signo igual=para establecer la condición de obtención de datos, como "ejemplo_author = 'example.com'".
Pero a veces necesitamos obtener todos los registros donde el campo ejemplo_author contenga los caracteres "COM"; entonces necesitamos usar laLIKEcláusula.
LIKELa cláusula es una palabra clave en MySQL utilizada para la coincidencia difusa en la cláusula WHERE. Suele usarse junto con comodines para buscar cadenas que coincidan con un patrón determinado.LIKEEn la cláusula se utiliza el carácter de signo de porcentaje%para representar cualquier carácter, similar al asterisco en UNIX o en expresiones regulares.*。
Si no se usa el signo de porcentaje%, la cláusula LIKE y el signo igual=tienen el mismo efecto.
Sintaxis
La siguiente es la sintaxis general de una declaración SQL SELECT que usa la cláusula LIKE para leer datos de una tabla de datos:
SELECT column1, column2, ... FROM table_name WHERE column_name LIKE pattern;
Descripción de parámetros:
column1,column2, ... son los nombres de las columnas que desea seleccionar; si usa*indica seleccionar todas las columnas.table_namees el nombre de la tabla de la que desea consultar los datos.column_namees el nombre de la columna a la que desea aplicar laLIKEcláusula.patternes el patrón utilizado para la coincidencia y puede contener comodines.
Más información:
- Puede especificar cualquier condición en la cláusula WHERE.
- Puede usar la cláusula LIKE en la cláusula WHERE.
- Puede usar la cláusula LIKE en lugar del signo igual=。
- LIKE se usa generalmente%en conjunto, similar a una búsqueda de metacaracteres.
- Puede usar AND u OR para especificar una o más condiciones.
- Puede usar la cláusula WHERE...LIKE en los comandos DELETE o UPDATE para especificar condiciones.
Ejemplos
A continuación se muestran algunosLIKEejemplos de uso de la cláusula.
1. Comodín de porcentaje %:
%El comodín representa cero o más caracteres. Por ejemplo,'a%'coincide con la letra'a'al comienzo de cualquier cadena.
SELECT * FROM customers WHERE last_name LIKE 'S%';
La declaración SQL anterior seleccionará todos los clientes cuyo apellido comience con 'S'.
2. Comodín de guion bajo _:
_El comodín representa un carácter. Por ejemplo,'_r%'coincide cuando la segunda letra es'r'cualquier carácter.
SELECT * FROM products WHERE product_name LIKE '_a%';
La declaración SQL anterior seleccionará todos los productos cuyo segundo carácter del nombre del producto sea 'a'.
3. Uso combinado de % y _:
SELECT * FROM users WHERE username LIKE 'a%o_';
La declaración SQL anterior coincidirá con cadenas que comiencen con la letra 'a', seguidas de cero o más caracteres, luego 'o', y finalmente un carácter arbitrario, como 'aaron', 'apol'.
4. Coincidencia sin distinguir mayúsculas y minúsculas:
SELECT * FROM employees WHERE last_name LIKE 'smi%' COLLATE utf8mb4_general_ci;
La declaración SQL anterior seleccionará todos los empleados cuyo apellido comience con'smi'sin distinguir mayúsculas y minúsculas.
LIKELa cláusula proporciona una potente capacidad de búsqueda difusa, que se puede personalizar según diferentes patrones y necesidades. Al usarla, asegúrese de comprender el significado de los comodines y realice la coincidencia según la situación real.
Uso de la cláusula LIKE en el símbolo del sistema
A continuación,SELECTusaremos en el comandoWHERE...LIKEla cláusula para leer datos de la tabla MySQL ejemplo_tbl.
Ejemplo
A continuación se muestra cómo obtener de la tabla ejemplo_tbl todos los registros cuyo campo ejemplo_author termineCOMen:
Declaración SQL LIKE:
Uso de la cláusula LIKE en scripts de PHP
Puede usar la función mysqli_query() de PHP y el mismo comando SELECT con la cláusula WHERE...LIKE para obtener los datos.
Esta función se utiliza para ejecutar el comando SQL y luego, a través de la función PHP mysqli_fetch_array(), se muestran todos los datos consultados.
Pero si se trata de una declaración SQL que usa la cláusula WHERE...LIKE en DELETE o UPDATE, no es necesario usar la función mysqli_fetch_array().
Ejemplo
A continuación se muestra cómo usamos un script PHP para leer todos los registros de la tabla ejemplo_tbl cuyo campo ejemplo_author termina con COM:
Prueba de la cláusula LIKE de MySQL:
El resultado de salida se muestra en la siguiente figura: