MySQL the command line and pagers
Solution 1
The MySQL client just passes its output to whatever command you specify with \P
(for "Pager").
-Sin
are commandline switches to the program less
. From man less:
-i Causes searches to ignore case
-n Suppresses line numbers
-S Causes lines longer than the screen width to be chopped rather than folded.
For more options of the MySQL client, see reference.
Solution 2
mysql> pager less
PAGER set to 'less'
Solution 3
You might want to try pspg: Unix pager designed for work with tables. Designed for PostgreSQL, but MySQL is supported too.
Main target
possibility to freeze first few rows, first few columns
possibility to use fancy colors - like mcview or FoxPro
In action:
Solution 4
This post is old, but still very helpful.
You can set the pager to whatever you want, including a script that parses all output before feeding it back to you. The examples there include using an add-on tool that makes EXPLAIN
output more readable.
Also note that to turn off this functionality and return to normal stdout the command is nopager
.
Related videos on Youtube
martynthewolf
Web Developer based in UK working for a civil engineering company Currently using the LAMP stack
Updated on April 27, 2022Comments
-
martynthewolf about 2 years
I cant find anything about this from searching here.
I use mysql on the command line at work and I work with fairly large tables so I set the mysql pager allowing a more readable result if I run a query, that returns 1000's of results. I use the command below to set the pager.
\P less -Sin
This suits my needs but has left me wondering if there are any more pager styles that mysql uses on the command line.
-
martynthewolf over 13 yearsit's not that I don't like it, I'm just interested to see if more pager outputs exist. I just tried more and its very similar to the basic output. Using less seems to display the result set in a much neater fashion
-
wranvaud over 7 yearsalso if you just type
pager
it will go back to standard output.