Curso de MariaDB Desde la Consola/Más Select

De WikiCabal
Saltar a: navegación, buscar

Más Select

expr LIKE pat [ESCAPE 'escape char']
expr NOT LIKE pat [ESCAPE 'escape char']

Comprueba si expr coincide con pat patrón. 
Devuelve 1 (verdadero) o 0 (falso). Expr y pat pueden ser cualquier 
expresión válida y se evalúan a las cadenas. Los patrones pueden 
utilizar los siguientes caracteres comodín:

  '%' coincide con cualquier número de caracteres, incluyendo cero.
  '_' coincide con cualquier carácter único.

Usa NOT LIKE para probar si una cadena no coincide con un patrón. 
Esto es equivalente a usar el operador NOT en el entero LIKE expresión.

Si la expresión o el patrón es NULL, el resultado es NULL.

LIKE realiza partidos de subcadena entre mayúsculas y minúsculas si la 
colación para la expresión y patrón es entre mayúsculas y minúsculas. 
Para los partidos entre mayúsculas y minúsculas, declarar cualquier 
argumento para utilizar una intercalación binaria usando intercalar o 
obligar a cualquiera de ellos en una cadena binaria mediante fundición. 

Use SHOW COLLATION para obtener una lista de intercalaciones disponibles. 
Colaciones en bin distinguen mayúsculas de minúsculas.

Argumentos numéricos son presionados en cadenas binarias.

El comodín coincide con un carácter individual, no bytes. Sólo igualará 
un carácter de múltiples byte si es válido en el conjunto de caracteres 
de la expresión. 
Por ejemplo, coincidirá con el utf8 "€", pero no coincidirán latin1 "€" 
porque el símbolo del Euro no es un carácter válido latin1. Si es necesario, 
utilice a convertir para utilizar la expresión en un conjunto de caracteres 
diferentes.

Si usted necesita para que coincida con los caracteres o %, usted debe huir 
de ellos. Por defecto, usted puede prefijo los caracteres comodín el caracter 
de barra invertida \ escapar de ellos. La barra invertida se usa tanto para 
codificar caracteres especiales como saltos de línea cuando se analiza una 
cadena así como para escapar caracteres comodín en un patrón después de análisis. 
Así, para que coincida con una barra invertida real, a veces necesita escapar de 
doble como "FTP".

Para evitar dificultades con el carácter de barra invertida, puede cambiar el 
carácter de escape de comodín en una expresión como de ESCAPE. El argumento 
de ESCAPE debe ser una cadena de caracteres individuales.

Para búsquedas en columnas de texto, con resultados ordenados por relevancia, 
ver los índices de texto completo.

Para búsquedas más complejas y las operaciones en las cuerdas, puede usar 
expresiones regulares, que han mejorado en MariaDB 10.

MariaDB [Prueba1]> SHOW DATABASES;           |
+--------------------+
| Prueba1            |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)

MariaDB [Prueba1]> SHOW TABLES;
+-------------------+
| Tables_in_Prueba1 |
+-------------------+
| Competiciones     |
| inven             |
| personas          |
+-------------------+
3 rows in set (0.00 sec)

MariaDB [Prueba1]> SELECT * FROM inven;
+----+-------------+-----------------------+--------+----------+
| id | nombre      | descrip               | precio | cantidad |
+----+-------------+-----------------------+--------+----------+
|  1 | Manzanas    | Mediano Granny-Smith. |   0.25 |     1000 |
|  2 | Uvas        | Sin Semillas          |   2.99 |      500 |
|  3 | Agua        | Bot. - 250 ml.        |   0.89 |      259 |
|  4 | AguaMineral | Bot. - 600 ml.        |    0.5 |      350 |
|  5 | Platanos    | Machos                |      6 |       25 |
+----+-------------+-----------------------+--------+----------+
5 rows in set (0.02 sec)

MariaDB [Prueba1]> SELECT * FROM inven
    ->         WHERE precio BETWEEN 1.0 and 3.00;
+----+--------+--------------+--------+----------+
| id | nombre | descrip      | precio | cantidad |
+----+--------+--------------+--------+----------+
|  2 | Uvas   | Sin Semillas |   2.99 |      500 |
+----+--------+--------------+--------+----------+
1 row in set (0.00 sec)

MariaDB [Prueba1]> SELECT * FROM inven
    ->        WHERE precio BETWEEN 1 and 3;
+----+--------+--------------+--------+----------+
| id | nombre | descrip      | precio | cantidad |
+----+--------+--------------+--------+----------+
|  2 | Uvas   | Sin Semillas |   2.99 |      500 |
+----+--------+--------------+--------+----------+
1 row in set (0.00 sec)

'%' coincide con cualquier número de caracteres, incluyendo cero.
'_' coincide con cualquier carácter único.

MariaDB [Prueba1]> SELECT * FROM inven WHERE nombre LIKE 'M%';
+----+----------+-----------------------+--------+----------+
| id | nombre   | descrip               | precio | cantidad |
+----+----------+-----------------------+--------+----------+
|  1 | Manzanas | Mediano Granny-Smith. |   0.25 |     1000 |
+----+----------+-----------------------+--------+----------+
1 row in set (0.00 sec)

MariaDB [Prueba1]> SELECT * FROM inven WHERE nombre LIKE 'm%';
+----+----------+-----------------------+--------+----------+
| id | nombre   | descrip               | precio | cantidad |
+----+----------+-----------------------+--------+----------+
|  1 | Manzanas | Mediano Granny-Smith. |   0.25 |     1000 |
+----+----------+-----------------------+--------+----------+
1 row in set (0.00 sec)

MariaDB [Prueba1]> CREATE TABLE fruta ( id int not null primary key auto_increment,
    ->                      nombre varchar (50) not null );
Query OK, 0 rows affected (0.26 sec)

MariaDB [Prueba1]> INSERT INTO fruta VALUES ( NULL, 'Manzanas' );
Query OK, 1 row affected (0.05 sec)

MariaDB [Prueba1]> INSERT INTO fruta VALUES ( NULL, 'Naranjas' );
Query OK, 1 row affected (0.03 sec)

MariaDB [Prueba1]> INSERT INTO fruta VALUES ( NULL, 'Uvas' );
Query OK, 1 row affected (0.07 sec)

MariaDB [Prueba1]> INSERT INTO fruta VALUES ( NULL, 'Platanos' );
Query OK, 1 row affected (0.07 sec)

MariaDB [Prueba1]> SELECT * FROM fruta;
+----+----------+
| id | nombre   |
+----+----------+
|  1 | Manzanas |
|  2 | Naranjas |
|  3 | Uvas     |
|  4 | Platanos |
+----+----------+
4 rows in set (0.00 sec)

MariaDB [Prueba1]> CREATE TABLE color ( id int not null primary key auto_increment,
    ->                      nombre varchar (50) not null );
Query OK, 0 rows affected (0.25 sec)

MariaDB [Prueba1]> SHOW TABLES;
+-------------------+
| Tables_in_Prueba1 |
+-------------------+
| Competiciones     |
| color             |
| fruta             |
| inven             |
| personas          |
+-------------------+
5 rows in set (0.00 sec)

MariaDB [Prueba1]> INSERT INTO color VALUES ( NULL, 'Rojo' );
Query OK, 1 row affected (0.06 sec)

MariaDB [Prueba1]> INSERT INTO color VALUES ( NULL, 'naranja' );
Query OK, 1 row affected (0.04 sec)

MariaDB [Prueba1]> INSERT INTO color VALUES ( NULL, 'Purpura' );
Query OK, 1 row affected (0.07 sec)

MariaDB [Prueba1]> INSERT INTO color VALUES ( NULL, 'Amarillo' );
Query OK, 1 row affected (0.07 sec)

MariaDB [Prueba1]> SELECT * FROM color;
+----+----------+
| id | nombre   |
+----+----------+
|  1 | Rojo     |
|  2 | naranja  |
|  3 | Purpura  |
|  4 | Amarillo |
+----+----------+
4 rows in set (0.00 sec)

MariaDB [Prueba1]> SELECT * FROM fruta, color;
+----+----------+----+----------+
| id | nombre   | id | nombre   |
+----+----------+----+----------+
|  1 | Manzanas |  1 | Rojo     |
|  2 | Naranjas |  1 | Rojo     |
|  3 | Uvas     |  1 | Rojo     |
|  4 | Platanos |  1 | Rojo     |
|  1 | Manzanas |  2 | naranja  |
|  2 | Naranjas |  2 | naranja  |
|  3 | Uvas     |  2 | naranja  |
|  4 | Platanos |  2 | naranja  |
|  1 | Manzanas |  3 | Purpura  |
|  2 | Naranjas |  3 | Purpura  |
|  3 | Uvas     |  3 | Purpura  |
|  4 | Platanos |  3 | Purpura  |
|  1 | Manzanas |  4 | Amarillo |
|  2 | Naranjas |  4 | Amarillo |
|  3 | Uvas     |  4 | Amarillo |
|  4 | Platanos |  4 | Amarillo |
+----+----------+----+----------+
16 rows in set (0.00 sec)

MariaDB [Prueba1]> SELECT fruta.id, fruta.nombre, color.nombre 
    ->          FROM fruta, color
    ->          WHERE fruta.id = color.id;
+----+----------+----------+
| id | nombre   | nombre   |
+----+----------+----------+
|  1 | Manzanas | Rojo     |
|  2 | Naranjas | naranja  |
|  3 | Uvas     | Purpura  |
|  4 | Platanos | Amarillo |
+----+----------+----------+
4 rows in set (0.00 sec)