2012-03-16 6 views
8

Cuando hago un SELECT en el intérprete de línea de comandos de MySQL consigo una tabla ASCII dulce:obtener el formato de lujo del vector de MySQL como salida estándar

 
+----+------+ 
| id | name | 
+----+------+ 
| 1 | Bob | 
| 2 | Mary | 
| 3 | Jane | 
| 4 | Lisa | 
+----+------+ 

Sin embargo, si la tubería el resultado en alguna parte (por ejemplo, echo "SELECT ..." | mysql), I obtener un aburrido resultado delimitado por tabuladores.

¿Cómo puedo obtener el formato de tabla de lujo en stdout?

Respuesta

22

Usted puede utilizar el interruptor -t o --table en el comando mysql, por ejemplo,

$ echo "SELECT ..." | mysql -t | cowsay -n 
_______________ 
/+----+------+ \ 
| | id | name | | 
| +----+------+ | 
| | 1 | Bob | | 
| | 2 | Mary | | 
| | 3 | Jane | | 
| | 4 | Lisa | | 
\ +----+------+/
--------------- 
     \ ^__^ 
     \ (oo)\_______ 
      (__)\  )\/\ 
       ||----w | 
       ||  || 
+2

¡Gracias! No tengo idea de cómo me perdí esto en la página del hombre. +1 para cowsay, también. –

+3

LOLz @ cowsay ... –

+0

@Christian Mann: +1 ... Buen trabajo ...... Buen dibujo ... Respuesta inteligente .. LOL –

3

Prueba esto:

$ mysql -uyourUsername -pyourPassword -te 'SELECT * FROM aTable' aDatabase 
+----+------+ 
| id | name | 
+----+------+ 
| 1 | Bob | 
| 2 | Mary | 
| 3 | Jane | 
| 4 | Lisa | 
+----+------+ 
+0

Acceso denegado para el usuario 'aPaidNerd'@'10.32.60.170';) –

+0

Bueno ... usted debe utilizar su nombre de usuario y contraseña, por supuesto ... –

+0

¿cómo que ayuda en el problema dado? Transmite tu salida a '| cat' o lo que sea y verás que NO hay tabla, a menos que proporciones '-t' o' -table'. – glglgl

Cuestiones relacionadas