Удобный вывод результатов в консоли mysql

По умолчанию вывод в mysql происходит в stdout без разделения на страницы или на логические экраны. Это может быть неудобно, особенно, если строк много, либо в выводе присутствует много столбцов.
https://i.imgur.com/x70Mzh1.png

pager позволяет перенаправить вывод в другую программу.
  1. mysql> pager less
  2. PAGER set to 'less'
  3. mysql> SELECT * FROM users;
  4.  
  5. mysql> pager less -i -S
  6. PAGER set to 'less -i -S'
  7. mysql> SELECT * FROM users;
pager less -i -S выводит результат с возможностью прокрутки вверх и вниз, а также с обрезкой по-горизонтали и регистронезависимым поиском. Таким образом не понадобится ограничивать столбцы, либо использовать SELECT LEFT(`column`, 10).
https://i.imgur.com/23jbukf.png

Можно сразу отфильтровать вывод:
  1. mysql> pager grep 'файл' | less -S
  2. PAGER set to 'grep 'файл' | less -S'
На случай, если лень добавлять фильтр в запрос mysql.
https://i.imgur.com/YmQdZV5.png

Чтобы вернуть всё как было, достаточно просто вызвать pager без параметров.
  1. mysql> pager
  2. Default pager wasn't set, using stdout.

Задать pager по умолчанию можно в конфиге my.cnf

Реклама

Мы в соцсетях

tw tg yt gt