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

 

¿Qué son comodines?

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

¿Por qué usar WildCards?

Si está familiarizado con el uso del SQL, puede pensar que puede buscar datos complejos utilizando la cláusula SEELCT y WHERE. Entonces, ¿por qué usar comodines?

Antes de responder a esa pregunta, veamos un ejemplo. Supongamos que el departamento de mercadotecnia de la biblioteca de videos Myflix llevó a cabo promociones de mercadotecnia en la ciudad de Texas y desea obtener algunos comentarios sobre la cantidad de miembros.

registrado desde Texas, puede usar la siguiente instrucción SELECT junto con la cláusula WHERE para obtener la información deseada.

Como puede ver en la consulta anterior, la cláusula “WHERE” se vuelve compleja. Sin embargo, el uso de comodines simplifica la consulta, ya que podemos usar algo simple como el guión que se muestra a continuación.

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

Tipos de comodines

% el porcentaje

% el carácter de porcentaje se usa para especificar un patrón de cero (0) o más caracteres . Tiene la siguiente sintaxis básica.

AQUÍ

  • “Instrucción SELECT …” es el comando SQL SELECT estándar.
  • “DONDE” es la palabra clave utilizada para aplicar el filtro.
  • “LIKE” es el operador de comparación que se utiliza junto con comodines
  •  ‘xxx’ es cualquier patrón de inicio especificado, como un solo carácter o más, y “%” coincide con cualquier número de caracteres a partir de cero (0).

Para apreciar completamente 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 encuentra la declaración de SQL que se puede utilizar para lograr los resultados deseados.

Ejecutar el script anterior en MySQL workbench contra myflixdb nos da los resultados que se muestran a continuación.

movie_id título director añorelado categoria ID
4 Código Nombre Negro Edgar Jimz 2010 NULO
7 Código da Vinci NULO NULO 6

Observe que incluso si la palabra clave de búsqueda “código” aparece al principio o al final del título, aún se devuelve 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 porcentual al principio de los criterios de búsqueda solamente.

Ejecutar el script anterior en MySQL workbench contra myflixdb nos da los resultados que se muestran a continuación.

movie_id título director añorelado categoria ID
7 Código da Vinci NULO NULO 6

 

Tenga en cuenta que solo se ha devuelto un registro de la base de datos. Esto se debe a que nuestro código coincide con cualquier cantidad de caracteres al principio del título de la película y solo obtiene registros que finalizan con el patrón “código”.

Pasemos ahora el comodín porcentual al final del patrón especificado para que coincida. El script modificado se muestra a continuación.

Ejecutar el script anterior en MySQL workbench contra myflixdb nos da los resultados que se muestran a continuación.

movie_id título director añorelado categoria ID
4 Código Nombre Negro Edgar Jimz 2010 NULO

 

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 cantidad de caracteres.

_ comodín de guión bajo

El comodín de guión bajo se usa para unir exactamente un personaje . Supongamos que queremos buscar todas las películas que se lanzaron en los años 200x donde x es exactamente un personaje que podría tener algún valor. Usaríamos la carta comodín de guión bajo para lograr eso. El script a continuación selecciona todas las películas que se lanzaron en el año “200x”

Ejecutar el script anterior en MySQL workbench contra myflixdb nos da los resultados que se muestran a continuación.

movie_id título director añorelado categoria ID
2 Olvidando a Sarah Marshal Nicholas Stoller 2008 2
9 Honey Mooners Jhon Shultz 2005 8

Tenga en cuenta que solo las películas que tienen 200 seguidos por cualquier personaje en el campo año publicado se han devuelto en nuestro conjunto de resultados. 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 usar junto con los comodines para devolver filas que no coinciden con el patrón especificado.

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

movie_id título director añorelado categoria ID
1 Piratas del Caribe 4 Rob Marshall 2011 1
4 Código Nombre Negro Edgar Jimz 2010 NULO
8 Underworld-Awakeninh Michahel Eal 2012 6

Tenga en cuenta que solo las películas que no comienzan con 200 en el año publicado han sido devueltas en nuestro conjunto de resultados. Esto se debe a que usamos el operador lógico NOT en nuestra búsqueda de patrón comodín.

Palabra clave de escape

La palabra clave ESCAPE se usa para escapar de los caracteres de coincidencia de patrones , como el porcentaje (%) y el guión bajo (_) si forman parte de los datos.

Supongamos que queremos verificar la cadena “67%” que podemos usar;

Si queremos buscar la película “67% culpable”, podemos usar la secuencia de comandos que se muestra a continuación para hacerlo.

Tenga en cuenta el doble ” %% ” en la cláusula LIKE, el primero en rojo ” % ” se trata como parte de la cadena que se buscará. El otro se usa para coincidir con cualquier cantidad de caracteres que siguen.

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

Resumen

  • Like & Wildcards herramientas poderosas que ayudan a buscar datos que coincidan con patrones complejos.
  • Hay una serie de comodines que incluyen el porcentaje, subrayado y charlist (no soportados por MySQL) entre otros
  • El comodín de porcentaje se usa para coincidir con cualquier número de caracteres comenzando desde cero (0) y más.
  • El comodín de guión bajo se usa para unir exactamente un personaje.
0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *