Está en la página 1de 4

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.

SELECCIONE * FROM miembros WHERE postal_address = 'Austin, TX' O postal_address = Dallas, TX O postal_address
= Iola, TX O postal_adress = Houston, TX ';

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.
SELECCIONE * FROM miembros WHERE postal_address como '% TX';

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.

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



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.
SELECCIONE * FROM películas WHERE title LIKE '% code%';

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.
SELECCIONE * FROM películas WHERE title LIKE '% code';

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.
SELECCIONE * FROM películas WHERE title LIKE 'code%';

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”

SELECCIONE * FROM películas WHERE añoreleased LIKE '200_';

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.
SELECCIONE * DE películas DONDE año se lanzó NO ME GUSTA '200_';
categoria
movie_id título director añorelado 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;


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

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

1 SELECCIONE * FROM películas DONDE el título LIKE '67 # %% 'ESCAPE' # ';


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
SELECCIONE * FROM películas DONDE el título LIKE '67 = %% 'ESCAPE' = ';

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.

También podría gustarte