programacion software linux cursos manuales tutoriales
 

Tutorial de MySQL

Noticias de >
bases de datos Codigo Fuente
 
Ir a pagina de incio y ver todos los manuales
Manual de mySQL

Coincidencia de patrones

MySQL proporciona métodos de coincidencia de patrones basados en SQL estándar, así como también basados en expresiones regulares, de manera similar a las utilerías de Unix tales como vi, grep y sed.

La coincidencia de patrones basada en SQL nos permite usar _ (guión bajo) para un solo caracter y % para un arbitrario número de caracteres. En MySQL, los patrones SQL no son sensibles al uso de mayúsculas y minúsculas.

Es importante notar que no se usan los operadores =, < o > cuando se usan los patrones SQL; en su lugar se usan los operadores LIKE y NOT LIKE.

A continuación se presentan algunos ejemplos.

Para encontrar los nombres que comienzan con b:

mysql> SELECT * FROM mascotas WHERE nombre LIKE "b%";
+--------+-------------+---------+------+------------+---------------+
| nombre | propietario | especie | sexo | nacimiento | fallecimiento |
+--------+-------------+---------+------+------------+---------------+
| Buffy | Arnoldo | Perro | f | 1999-05-13 | NULL |
+--------+-------------+---------+------+------------+---------------+
1 row in set (0.00 sec)Para encontrar los nombres que finalizan con fy:

mysql> SELECT * FROM mascotas WHERE nombre LIKE "%fy";
+--------+-------------+---------+------+------------+---------------+
| nombre | propietario | especie | sexo | nacimiento | fallecimiento |
+--------+-------------+---------+------+------------+---------------+
| Fluffy | Arnoldo | Gato | f | 1999-02-04 | NULL |
| Buffy | Arnoldo | Perro | f | 1999-05-13 | NULL |
+--------+-------------+---------+------+------------+---------------+
2 rows in set (0.00 sec)Para encontrar nombres que contienen una s:

mysql> SELECT * FROM mascotas WHERE nombre LIKE "%s%";
+--------+-------------+-----------+------+------------+---------------+
| nombre | propietario | especie | sexo | nacimiento | fallecimiento |
+--------+-------------+-----------+------+------------+---------------+
| Kaiser | Diana | Perro | m | 1989-08-31 | 1997-07-29 |
| Chispa | Omar | Ave | f | 1998-09-11 | NULL |
| Skim | Benito | Serpiente | m | 2001-04-29 | NULL |
| Pelusa | Diana | Hamster | f | 2000-03-30 | NULL |
+--------+-------------+-----------+------+------------+---------------+
4 rows in set (0.01 sec)El otro tipo de coincidencia de patrones proporcionado por MySQL hace uso de expresiones regulares. Para hacer uso de estos tipos de patrones se tienen que usar los operadores REGEXP y NOT REGEXP ( o RLIKE y NOT RLIKE, los cuáles son sinónimos).

Algunas características de las expresiones regulares son:

El caracter punto (.) coincide con cualquier caracter.
Una clase de caracteres [...] coincide con cualquier caracter dentro de los paréntesis cuadrados. Por ejemplo, [abc] coincide con a, b o c. Para nombrar un rango de caracteres, se usa el guión. [a-z] coincide con cualquier letra minúscula, mientras que [0-9] coincide con cualquier digito.
El caracter asterisco (*) coincide con cero o más instancias de lo que le preceda. Por ejemplo, x* coincide con cualquier número de caracteres x, [0-9]* coincide con cualquier número de digitos, y .* (punto asterisco) coincide con cualquier cosa.
El patrón coincide si éste ocurre en cualquier parte del valor que está siendo evaluado. (Los patrones SQL coinciden únicamente en los valores completos.)
Para indicar el inicio o el final de un valor que está siendo evaluado se usan los caracteres ^ y $ respectivamente.
Para demostrar como se usan las expresiones regulares, se van a mostrar los ejemplos presentados anteriormente con el operador LIKE, ahora con el operador REGEXP.

Para encontrar los nombre que inician con b:

mysql> SELECT * FROM mascotas WHERE nombre REGEXP "^b";
+--------+-------------+---------+------+------------+---------------+
| nombre | propietario | especie | sexo | nacimiento | fallecimiento |
+--------+-------------+---------+------+------------+---------------+
| Buffy | Arnoldo | Perro | f | 1999-05-13 | NULL |
+--------+-------------+---------+------+------------+---------------+
1 row in set (0.01 sec)Antes de la versión 3.23.4 de MySQL, el operador REGEXP era sensible al uso de mayúsculas y minúsculas, así que dependiendo de la versión de MySQL con la que se está trabajando puede que obtengamos o no algún resultado en la consulta anterior. Se puede usar también la siguiente consulta para buscar los nombres que inician con la letra b, no importando si es mayúscula o minúscula.

mysql> SELECT * FROM mascotas WHERE nombre REGEXP "^[bB]";
+--------+-------------+---------+------+------------+---------------+
| nombre | propietario | especie | sexo | nacimiento | fallecimiento |
+--------+-------------+---------+------+------------+---------------+
| Buffy | Arnoldo | Perro | f | 1999-05-13 | NULL |
+--------+-------------+---------+------+------------+---------------+
1 row in set (0.00 sec)Desde la versión 3.23.4, para forzar que el operador REGEXP sea sensible al uso de mayúsculas y minúsculas, se tiene que usar la palabra clave BINARY para hacer de una de las cadenas, una cadena binaria. Observar los resultados de la siguientes consultas.

mysql> SELECT * FROM mascotas WHERE nombre REGEXP BINARY "^b";
Empty set (0.00 sec)

mysql> SELECT * FROM mascotas WHERE nombre REGEXP BINARY "^B";
+--------+-------------+---------+------+------------+---------------+
| nombre | propietario | especie | sexo | nacimiento | fallecimiento |
+--------+-------------+---------+------+------------+---------------+
| Buffy | Arnoldo | Perro | f | 1999-05-13 | NULL |
+--------+-------------+---------+------+------------+---------------+
1 row in set (0.01 sec)Para encontrar los nombres que finalizan con la palabra fy, haremos uso del caracter $.

mysql> SELECT * FROM mascotas WHERE nombre REGEXP "fy$";
+--------+-------------+---------+------+------------+---------------+
| nombre | propietario | especie | sexo | nacimiento | fallecimiento |
+--------+-------------+---------+------+------------+---------------+
| Fluffy | Arnoldo | Gato | f | 1999-02-04 | NULL |
| Buffy | Arnoldo | Perro | f | 1999-05-13 | NULL |
+--------+-------------+---------+------+------------+---------------+
2 rows in set (0.00 sec)Para encontrar los nombres que contienen una letra s, la consulta sería:

mysql> SELECT * FROM mascotas WHERE nombre REGEXP "s";
+--------+-------------+-----------+------+------------+---------------+
| nombre | propietario | especie | sexo | nacimiento | fallecimiento |
+--------+-------------+-----------+------+------------+---------------+
| Kaiser | Diana | Perro | m | 1989-08-31 | 1997-07-29 |
| Chispa | Omar | Ave | f | 1998-09-11 | NULL |
| Skim | Benito | Serpiente | m | 2001-04-29 | NULL |
| Pelusa | Diana | Hamster | f | 2000-03-30 | NULL |
+--------+-------------+-----------+------+------------+---------------+
4 rows in set (0.00 sec)

ir a capitulo anterior
software tecnologia programacion webmasters
Nube de Tags
Nuestra Red de agregadores de noticias tematicas
info mac ipod iphone
Mac- mundo mac iphone ipod novedades
noticias de moviles iphone nokia trucos
Moviles- actualidad del mundo de los moviles
salud
Salud- salud medicina dietas vida sana
noticias de coches f1 motos tuning motogp
Motor- noticias de coches F1 motoGP motos quads
cine teatro estrenos video
Ocio-Cine- estrenos de cine trailers noticias
juegos psp ps2 ps3 wii nintendo xbox xbox360
Juegos- psp ps2 ps3 wii pc xbox xbox360 sony
noticias de mujeres recetas thermomix
Mujer- noticias recetas moda thermomix belleza
tecnologia
Tech-y- gadchets actualidad de tecnologia
Deportes- todos los deportes agregados
energia eolica solar nuclear biomasa alternativas
Energia- eolica solar nuclear biomasa y mas...
noticias de ecologia
Ecologia- vive de forma ecologica y reciclando
energia solar eolica biomasa nuclear
Finanzas- ibex35 bolsa forex manuales fondos euribor
noticias de musica videos de musica
Musica - miles de videos de musica y noticias
Programacion- software programacion linux
viajes vuelos pueblos de españa Viajes - turismorama viajes y pueblos de españa..   Negocios- negocios y pymes, negocios online
       
viajes vuelos pueblos de espaņa
Recetas - 1001 recetas de cocina
 
Otros idiomas
salud Salute-(it) salute medicina diete salud Sante-(fr) sante medicina diet

 

BlogRoll


 
ver 50 mas votadas + Ver las 50 noticias mas leidas
ver 50 mas votadas + Ver las 50 noticias mas votadas
 
ver 50 mas votadas + Ver las 50 videos mas vistos

Links Recomendados

- pueblos de España

 
 
Documento sin título
Las mejores ofertas de la Red
Ofertas Tecnologia Ofertas de Vivienda
Ofertas Finanzas Ofertas de Motor
Ofertas Formacion Ofertas de Juegos
Ofertas de Ocio Ofertas de Salud
Ofertas de Viajes
Nuestros tutoriales
Tutorial de Visual Basic
Aprende Visual Basic desde 0
Tutorial de MySQL
primeros pasos en oracle

Tutorial de Oracle
primeros pasos en oracle
Tutorial de WAP
primeros pasos en WAP
Tutorial de photoshop
efectos con photoshop
Tutorial de php nuke
efectos con phpNuke
Tutorial de corva
efectos con corva
Tutorial de director
tutorial de director
Tutorial de dreamweaver
tutorial de dreamweaver
Tutorial de dreamweaverMX
tutorial de dreamweaver MX
Tutorial de flash
tutorial de flash
Tutorial de FlashMX
tutorial de flash MX
Tutorial de freehand
tutorial de freehand
Tutorial de frontpage
tutorial de frontpage
Tutorial de oracle
tutorial de oracle
Tutorial de php
tutorial de php
Tutorial de SQL
tutorial de SQL
Tutorial de Windows XP
tutorial de Windows XP
Tutorial de zope
tutorial de Zope
opera bajar opera descargar opera software opera Top Secciones de descargas
programas para bajar peliculas
programas para bajar musica
programas para bajar musica
programas de seguridad para tu pc
programas de seguridad para tu pc
programas google
programas para DJ - mezcladores
Tutoriales
Recomedamos: programatium I solorecursos I manuales I pueblos 2.0I info-salud I info-ocio I info-motor
noticias: Salud I Ocio/cine I Musica I Motor IDeportes IJuegos I Finanzas I Moviles I Energia I Ecologia I Tech-y I Mujer I MAC I Salud I