Tutorial de comodines de MySQL: Me gusta, NO Me gusta, Escape, (%), (_)

¿Qué son los comodines de MySQL?

Comodines MySQL son caracteres que ayudan a buscar datos que coincidan con complex criterios. Los comodines se utilizan junto con el operador de comparación LIKE o con el operador de comparación NOT LIKE.

¿Por qué utilizar comodines?

Si está familiarizado con el uso de SQL, puede pensar que puede buscar cualquier com.plex datos utilizando las cláusulas SELECT y WHERE. Entonces, ¿por qué utilizar comodines?

Antes de responder esa pregunta, veamos un ejemplo. Supongamos que el departamento de marketing de la videoteca Myflix realiza actividades de marketing. promociones en la ciudad de Texas y me gustaría recibir comentarios sobre el número de miembros

que se registró en Texas, puede utilizar el siguientewing Sentencia SELECT junto con la cláusula WHERE para obtener la información deseada.

SELECT * FROM members WHERE postal_address = 'Austin , TX' OR  postal_address = Dallas , TX OR postal_address = Iola,TX OR postal_adress = Houston ,TX';

Como puede ver en la consulta anterior, el "Dónde cláusula" se convierte en complex. Sin embargo, el uso de comodines simplifica la consulta, ya que podemos usar algo simple como el script que se muestra a continuación.

SELECT * FROM  members  WHERE postal_address  like '% TX';

En resumen, los comodines nos permiten desarrollar motores de búsqueda potentes en nuestras aplicaciones basadas en datos.

Tipos de comodines

% el porcentaje

% el carácter de porcentaje se utiliza para especificar un patrón de cero (0) o más caracteres. tiene el siguientewing sintaxis básica.

SELECT statements... WHERE fieldname LIKE 'xxx%';

AQUÍ

  • "Instrucción SELECT…” es el comando SQL SELECT estándar.
  • “DÓNDE” es la palabra clave utilizada para aplicar el filtro.
  • "LIKE" es el operador de comparación que se utiliza junto con los comodines.
  • 'xxx' es cualquier patrón inicial especificado, como un solo carácter o más, y "%" coincide con cualquier número de caracteres comenzando desde cero (0).

Para apreciar plenamente la afirmación anterior, veamos un ejemplo práctico.

Supongamos que queremos obtener todas las películas que tienen la palabra "código" como parte del título, usaríamos el comodín de porcentaje para realizar una coincidencia de patrón en ambos lados de la palabra "código". A continuación se muestra la declaración SQL que se puede utilizar para lograr los resultados deseados.

SELECT * FROM movies WHERE title LIKE '%code%';

Ejecutando el script anterior en Banco de trabajo MySQL contra myflixdb nos da los resultados que se muestran a continuación.

movie_id title director year_released category_id
4 Code Name Black Edgar Jimz 2010 NULL
7 Davinci Code NULL NULL 6

Tenga en cuenta que incluso si la palabra clave de búsqueda "código" aparece al principio o al final del título, aún aparece en nuestro conjunto de resultados. Esto se debe a que nuestro código incluye cualquier número de caracteres al principio y luego coincide con el patrón "código" seguido de cualquier número de caracteres al final.

Modifiquemos ahora nuestro script anterior para incluir el comodín de porcentaje únicamente al comienzo de los criterios de búsqueda.

SELECT * FROM movies WHERE title LIKE '%code';

La ejecución del script anterior en MySQL Workbench contra myflixdb nos da los resultados que se muestran a continuación.

movie_id title director year_released category_id
7 Davinci Code NULL NULL 6

Observe que solo se ha devuelto un registro de la base de datos. Esto se debe a que nuestro código coincide con cualquier número de caracteres al comienzo del título de la película y solo obtiene registros que terminan con el patrón "código".

Ahora movamos el comodín de porcentaje al final del patrón especificado que debe coincidir. El script modificado se muestra a continuación.

SELECT * FROM movies WHERE title LIKE 'code%';
La ejecución del script anterior en MySQL Workbench contra myflixdb nos da los resultados que se muestran a continuación.
movie_id title director year_released category_id
4 Code Name Black Edgar Jimz 2010 NULL

Observe que solo se ha devuelto un registro de la base de datos. Esto se debe a que nuestro código coincide con todos los títulos que comienzan con el patrón "código" seguido de cualquier número de caracteres.

_ comodín de subrayado

El comodín de guión bajo se utiliza para coincidir exactamente con un carácter. Supongamos que queremos buscar todas las películas que se estrenaron en los años 200x, donde x es exactamente un carácter que podría tener cualquier valor. Usaríamos el comodín de guión bajo para lograrlo. El siguiente guión selecciona todas las películas que se estrenaron en el año "200x"

SELECT * FROM movies WHERE year_released LIKE '200_';

La ejecución del script anterior en MySQL Workbench contra myflixdb nos da los resultados que se muestran a continuación.

movie_id title director year_released category_id
2 Forgetting Sarah Marshal Nicholas Stoller 2008 2
9 Honey mooners Jhon Shultz 2005 8

Tenga en cuenta que en nuestro conjunto de resultados solo se han devuelto películas que tienen 200 seguidores de cualquier carácter en el campo año de lanzamiento. Esto se debe a que el comodín de subrayado coincide con el patrón 200 seguido de cualquier carácter individual.

Diferente a

El operador lógico NOT se puede utilizar junto con los comodines para devolver filas que no coinciden con el patrón especificado.

Supongamos que queremos obtener películas que no se estrenaron en el año 200x. Usaríamos el operador lógico NOT junto con el comodín de guión bajo para obtener nuestros resultados. A continuación se muestra el script que hace eso.

SELECT * FROM movies WHERE year_released NOT LIKE '200_';

movie_id title director year_released category_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
4 Code Name Black Edgar Jimz 2010 NULL
8 Underworld-Awakeninh Michahel Eal 2012 6

Tenga en cuenta que en nuestro conjunto de resultados solo se han devuelto películas que no comienzan con 200 en el año de lanzamiento. Esto se debe a que utilizamos el operador lógico NOT en nuestra búsqueda de patrones comodín.

Escapar de palabra clave

La palabra clave ESCAPE se utiliza para personajes de coincidencia de patrones de escape como el (%) porcentaje y subrayado (_) si forman parte de los datos.

Supongamos que queremos verificar la cadena "67%" que podemos usar;

LIKE '67#%%' ESCAPE '#';

Si queremos buscar la película “67% Guilty”, podemos usar el script que se muestra a continuación para hacerlo.

SELECT * FROM movies WHERE title LIKE '67#%%' ESCAPE '#';

Nota la double "%%” en la cláusula LIKE, la primera en rojo “%”se trata como parte de la cadena que se va a buscar. El otro se utiliza para hacer coincidir cualquier número de caracteres siguientes.

La misma consulta también funcionará si usamos algo como

SELECT * FROM movies WHERE title LIKE '67=%%' ESCAPE '=';

Resumen

  • Me gusta y comodines potentes herramientas que ayudan a buscar datos que coincidan con complex .
  • Hay una serie de comodines que incluyen el porcentaje, el guión bajo y la lista de caracteres (no admitidos por MySQL), entre otros.
  • El comodín de porcentaje se utiliza para hacer coincidir cualquier número de caracteres a partir de cero (0) y más.
  • El comodín de guión bajo se utiliza para hacer coincidir exactamente un carácter.