Получите необычный формат таблицы MySQL как стандартный вывод - PullRequest
10 голосов
/ 17 марта 2012

Когда я делаю SELECT в интерпретаторе командной строки MySQL, я получаю прекрасную таблицу ASCII:

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

Однако, если я передаю результат куда-нибудь (например, echo "SELECT ..." | mysql), я получаю скучностарый результат с разделителями табуляцией.

Как мне получить модный формат таблицы в stdout?

Ответы [ 2 ]

26 голосов
/ 17 марта 2012

Вы можете использовать переключатель -t или --table для команды mysql, например,

$ echo "SELECT ..." | mysql -t | cowsay -n
 _______________
/ +----+------+ \
| | id | name | |
| +----+------+ |
| |  1 | Bob  | |
| |  2 | Mary | |
| |  3 | Jane | |
| |  4 | Lisa | |
\ +----+------+ /
 ---------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
3 голосов
/ 17 марта 2012

Попробуйте это:

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