Paginar salida de MySQL

Este es un pequeño truco que se puede emplear para obtener una salida mucho más lógica de una consulta en MySQL. Por defecto, la salida de una consulta se envía a stdout, por lo que si esta tiene un número muy elevado de tuplas, es complicado verla y seguirla. Para evitarlo qué mejor que paginar. MySQL permite paginar las salidas al más puro estilo GNU/Linux (diferencia entre cat FILE y more FILE).
Para habilitar el paginado en las salidas de MySQL se emplea el comando pager y éste admite como parámetros el programa GNU/Linux que deseemos emplear para paginar (more o less, por ejemplo). Para emplear simplemente,
mysql> pager more
Con lo que obtendremos una paginación al más puro estilo more o sino también,
mysql> pager less
Muy útil si la salida de la consulta es más grande que la pantalla, que permite navegar vertical y horizontalmente por los resultados, facilitando la consulta y explotación de los datos.
A mayores, también permite realizar salidas más útiles, como por ejemplo,
mysql> pager md5sum

mysql> select * from users;
e9b09f919e6abf68b46f84f0bedc2e72  -
71 rows in set (0.00 sec)
Con lo que obtenemos un md5 de la salida. La próxima vez que se ejecute si este número cambia, significará que hubo cambios en los datos de la consulta, sino, es que todo está igual.
Y pager también permite enviar los resultados por correo, empleando el comando del sistema mail.
mysql> pager mail -s "query mysql" user@domain.com
Cuando deseemos volver al estilo por defecto de MySQL simplemente,
mysql> nopager

Nota: pager permite realizar salidas también mucho más espectaculares  al enviar todos los datos de las consultas como input del programa especificado,
mysql> pager cat > /tmp/output.txt
mysql> pager less -n -i -S -F -X
mysql> pager cat \ 
 -> | tee /tmp/res.txt \
 -> | tee /tmp/res2.txt | less -n -i -S
Más info en: MySQL 5.5


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios