ingresar - MySQL Linux herramienta de línea de comandos y resultados formateados correctamente
mysql workbench (5)
¿Alguien sabe de una buena herramienta para usar desde el shell para consultar la base de datos y obtener resultados inteligibles ?
En la línea de comandos, desde SSH, quiero consultar la base de datos usando mysql
pero los resultados son bastante ilegibles porque no hay formato para la pantalla del terminal.
Si ejecuto lo siguiente es difícil de entender los resultados.
use mydb;
select * from db3_settings;
Sé que podría usar phpMyAdmin o MySQLCC pero estoy buscando una solución de línea de comandos.
Usando el comando ego
mysql
Del comando de help
mysql
:
ego (/ G) Enviar comando al servidor mysql, mostrar el resultado verticalmente.
Entonces, al agregar un /G
a su select
, puede obtener una salida vertical muy limpia:
mysql> SELECT * FROM db3_settings /G;
Usando un buscapersonas
Puede decirle a MySQL que use el paginador less
con su opción -S
que corta líneas anchas y le da un resultado que puede desplazarse con las teclas de flecha:
mysql> pager less -S
Por lo tanto, la próxima vez que ejecute un comando con una salida amplia, MySQL le permitirá navegar por la salida con less
buscapersonas:
mysql> SELECT * FROM db3_settings;
Si ha terminado con el buscapersonas y desea volver a la salida normal en la salida stdout
, use esto:
mysql> nopager
En la línea de comandos, puede obtener los resultados de los registros devueltos que se muestran como registros individuales con formato (en lugar de una tabla larga) usando /G
al final de su consulta, como esto:
select * from <tablename> /G;
Hay varias formas de hacer que los resultados sean más legibles.
Usando el límite para ver solo unas pocas filas:
SELECT * FROM table LIMIT 10;
Solo devolviendo columnas seleccionadas:
SELECT a,b,c FROM table;
Terminando sus consultas con /G
para enviar la declaración actual al servidor a ejecutar y mostrar el resultado en formato vertical:
SELECT * FROM table /G
Para sistemas que no son Windows, puede usar less
para hacer que la salida esté formateada o sea más legible.
mysql > pager less -SFX;
mysql > select * from databasename.table;
canaliza la salida de sql a menos dando una salida tabular que se puede desplazar horizontal y verticalmente con las teclas de cursor. salir presionando ''q''
Si no quieres, reinicia usando
mysql> nopager
Puede obtener una salida con formato vertical con /G
Esta es la salida estándar:
mysql> select * from tblSettings;
+-----------+----------------+---------------------+
| settingid | settingname | settingvalue |
+-----------+----------------+---------------------+
| 1 | maxttl | 30 |
| 2 | traceroutepath | /usr/bin/traceroute |
| 3 | alertemail | [email protected] |
+-----------+----------------+---------------------+
3 rows in set (0.00 sec)
Y así es como se ve la salida con /G
:
mysql> select * from tblSettings /G;
*************************** 1. row ***************************
settingid: 1
settingname: maxttl
settingvalue: 30
*************************** 2. row ***************************
settingid: 2
settingname: traceroutepath
settingvalue: /usr/bin/traceroute
*************************** 3. row ***************************
settingid: 3
settingname: alertemail
settingvalue: [email protected]
3 rows in set (0.00 sec)