Anuncios

Bienvenidos sean a este post, hoy veremos algunos conceptos practicos para manejarnos con el interprete.

Anuncios

Hoy hablaremos sobre varios temas que nos pueden facilitar un poco nuestro trabajo, vamos con el primero que vimos durante los ejemplos de los posts anteriores como son los avisos (warnings) pero simplemente teniamos la notificacion pero no el error en si, veamos el siguiente ejemplo:

MariaDB [base1]> insert ignore into tabla3
    -> set nombre='Juan', apellido='Perez',
    -> correo='elmasgrandedelosgrandes@yahoo.com.ar', edad=22,
    -> ciudad='Castelar';
Query OK, 1 row affected, 1 warning (0.060 sec)

MariaDB [base1]>
Anuncios

En este caso creamos un usuario con una direccion que no entra en nuestra columna por lo tanto nos notifico gracias al IGNORE, para poder ver el error simplemente debemos usar lo siguiente:

show warnings;
Anuncios

Y nos devolvera el aviso de la siguiente forma:

MariaDB [base1]> show warnings;
+---------+------+---------------------------------------------+
| Level   | Code | Message                                     |
+---------+------+---------------------------------------------+
| Warning | 1265 | Data truncated for column 'correo' at row 1 |
+---------+------+---------------------------------------------+
1 row in set (0.000 sec)

MariaDB [base1]>
Anuncios

Como pueden ver nos devolvio una descripcion de cual y donde fue el error pero nosotros podemos activarlo usando el comando \W en el prompt donde nos notifica que se activo:

MariaDB [base1]> \W
Show warnings enabled.
MariaDB [base1]>
Anuncios

Entonces a partir de ahora cada vez que tengamos un aviso lo veremos al final:

MariaDB [base1]> insert ignore into tabla3 set nombre='Juan', apellido='Perez', correo='elmasgrandedelosgrandes@yahoo.com.ar', edad=22, ciudad='Castelar';
Query OK, 1 row affected, 1 warning (0.015 sec)

Warning (Code 1265): Data truncated for column 'correo' at row 1
MariaDB [base1]>
Anuncios

Para desactivarlo simplemente debemos usar a \w en el prompt y nos dara el aviso de desactivacion:

MariaDB [base1]> \w
Show warnings disabled.
MariaDB [base1]>
Anuncios

El siguiente comando u operador nos permite establecer como queremos tratar al resultado de nuestro query, este es \P y tambien se usa directamente en el prompt del interprete, por ejemplo podemos usar el siguiente:

MariaDB [base1]> \P less
Anuncios

Este hara que nuestra salida sea editada por medio del programa less de Linux, pero podemos usar al que deseemos pero antes veamos como nos devuelve la notificacion:

MariaDB [base1]> \P less
PAGER set to 'less'
MariaDB [base1]>
Anuncios

Veamos como trabaja mediante el siguiente video

Anuncios

Como pueden ver con un simple comando podemos variar nuestra salida pero si queremos volver a la normalidad simplemente hacemos lo siguiente:

MariaDB [base1]> \P
Default pager wasn't set, using stdout.
MariaDB [base1]>
Anuncios

Al no informar ninguna salida vuelve a utilizar la salida predeterminada, otra opcion interesante es poder hacer que utilice md5sum para obtener este valor de nuestra tabla, por ejemplo:

MariaDB [base1]> \P md5sum
PAGER set to 'md5sum'
MariaDB [base1]> select * from tabla3;
7b8681b41d57a74a5494f4028f8f9f48  -
7 rows in set (0.000 sec)

MariaDB [base1]>
Anuncios

Otra opcion interesante es utilizar a \Tee, este operador nos permite almacenar toda la sesion del usuario, para ello debemos usar la siguiente sintaxis:

MariaDB [(none)]> \Tee nombre_archivo
Anuncios

Donde debemos pasarle el nombre del archivo a almacenar la informacion, una vez ejecutado lo veremos asi:

MariaDB [(none)]> \Tee algo.txt
Logging to file 'algo.txt'
MariaDB [(none)]>
Anuncios

Esto comenzara a almacenar todo lo que ejecutemos en este archivo hasta que cerremos la sesion, les dejo un ejemplo del archivo que me creo:

algo.txt

MariaDB [(none)]> use base1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [base1]> show tables;
+-----------------+
| Tables_in_base1 |
+-----------------+
| tabla1          |
| tabla2          |
| tabla3          |
+-----------------+
3 rows in set (0.000 sec)

MariaDB [base1]> show columns from tabla3;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(20)     | NO   | PRI | NULL    | auto_increment |
| nombre   | varchar(20) | NO   |     | NULL    |                |
| apellido | varchar(20) | NO   |     | NULL    |                |
| correo   | varchar(20) | NO   |     | NULL    |                |
| edad     | int(3)      | YES  |     | NULL    |                |
| ciudad   | varchar(20) | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
6 rows in set (0.009 sec)

MariaDB [base1]> select * from tabla3;
+----+----------+----------+----------------------+------+------------+
| id | nombre   | apellido | correo               | edad | ciudad     |
+----+----------+----------+----------------------+------+------------+
|  5 | Martin   | Miranda  | tinchicus@gmail.com  |   45 | Dunwich    |
|  6 | Enzo     | Tortore  | elgary@tinchicus.com |   33 | Dunwich    |
|  7 | DarkZero | Aleman   | darkie@tinchicus.com |   32 | Miskatonic |
|  8 | Ariel    | Polizzi  | eltio@tinchicus.com  |   47 | Arkham     |
|  9 | Juan     | Perez    | elmasgrandedelosgran |   22 | Castelar   |
| 10 | Juan     | Perez    | elmasgrandedelosgran |   22 | Castelar   |
| 11 | Juan     | Perez    | elmasgrandedelosgran |   22 | Castelar   |
+----+----------+----------+----------------------+------+------------+
7 rows in set (0.000 sec)

MariaDB [base1]>
Anuncios

Para ir finalizando con esto, no solamente podemos hacer nuestro final de linea para un select con el punto y coma sino tambien con \G o \g, esto radicara en dos tipos de salida distintas, la segunda equivale a usar el punto y coma dando una version resumida de nuestra tabla pero la primera nos dara una informacion mas detallada de la misma, probemos de hacer un query con \G:

MariaDB [(none)]> select * from base1.tabla3\G
*************************** 1. row ***************************
      id: 5
  nombre: Martin
apellido: Miranda
  correo: tinchicus@gmail.com
    edad: 45
  ciudad: Dunwich
*************************** 2. row ***************************
      id: 6
  nombre: Enzo
apellido: Tortore
  correo: elgary@tinchicus.com
    edad: 33
  ciudad: Dunwich
*************************** 3. row ***************************
      id: 7
  nombre: DarkZero
apellido: Aleman
  correo: darkie@tinchicus.com
    edad: 32
  ciudad: Miskatonic
*************************** 4. row ***************************
      id: 8
  nombre: Ariel
apellido: Polizzi
  correo: eltio@tinchicus.com
    edad: 47
  ciudad: Arkham
4 rows in set (0.000 sec)

MariaDB [(none)]>
Anuncios

Podemos ver como nos separa fila por fila cada uno de los elementos cargados en la tabla con los datos que solicitamos, en cambio si lo hacemos con \g obtendremos lo siguiente:

MariaDB [(none)]> select * from base1.tabla3\g
+----+----------+----------+----------------------+------+------------+
| id | nombre   | apellido | correo               | edad | ciudad     |
+----+----------+----------+----------------------+------+------------+
|  5 | Martin   | Miranda  | tinchicus@gmail.com  |   45 | Dunwich    |
|  6 | Enzo     | Tortore  | elgary@tinchicus.com |   33 | Dunwich    |
|  7 | DarkZero | Aleman   | darkie@tinchicus.com |   32 | Miskatonic |
|  8 | Ariel    | Polizzi  | eltio@tinchicus.com  |   47 | Arkham     |
+----+----------+----------+----------------------+------+------------+
4 rows in set (0.001 sec)

MariaDB [(none)]>
Anuncios

Es decir la salida que siempre obtuvimos pero estas dos opciones nos sirven para los otros comandos pero por un tema de practicidad en general usaremos el punto y coma, aunque dependiendo de la salida de una busqueda puede ser mas util el \G, eso queda a criterio de cada uno, por ultimo si tenemos los privilegios suficientes podemos apagar el servidor mediante el comando SHUTDOWN pero esto lo hara inaccesible a todos, por ultimo podemos desloguearnos del interprete de cuatro formas distintas:

  • exit
  • quit
  • \q
  • Ctrl+D
Anuncios

Con cualquiera de estas acciones saldremos automaticamente, con esto tenemos algunas practicas interesantes para poder trabajar mejor con nuestro interprete.

Anuncios

En resumen, hoy hemos visto algunas comandos que nos pueden facilitar ciertas tareas, el primero fue como ver los avisos de errores cuando usamos la palabra IGNORE, despues vimos como poder redireccionar el PAGER a nuestra conveniencia, para despues crear un archivo de log almacenando todos los comandos del usuario conectado, para finalmente ver una alternativa al final de linea y como salir de nuestro cliente de forma limpia y eficiente, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50