Средство командной строки Mysql linux для корректно отформатированных результатов - программирование
Подтвердить что ты не робот

Средство командной строки Mysql linux для корректно отформатированных результатов

Кто-нибудь знает о хорошем инструменте для использования из оболочки для запроса базы данных и получения понятных результатов?

В командной строке из SSH я хочу запросить базу данных с помощью mysql, но найти результаты довольно нечитабельно, потому что для экрана терминала нет форматирования.

Если я запустил следующее, это может сильно измениться, чтобы понять результаты.

use mydb;
select * from db3_settings;

Я могу использовать phpMyAdmin или MySQLCC, но хочу иметь что-то для строки cmd.

4b9b3361

Ответ 1

Вы можете форматировать вывод с помощью \G;

Это стандартный вывод;

mysql> select * from tblSettings;
+-----------+----------------+---------------------+
| settingid | settingname    | settingvalue        |
+-----------+----------------+---------------------+
|         1 | maxttl         | 30                  |
|         2 | graphhopscale  | 1                   |
|         3 | tracedelta     | 2                   |
|         4 | traceroutepath | /usr/bin/traceroute |
|         5 | tracealert     | Yes                 |
|         6 | maxbars        | 50                  |
|         7 | alertemail     | [email protected]         |
+-----------+----------------+---------------------+
7 rows in set (0.00 sec)

Это отформатированный вывод;

mysql> select * from tblSettings \G;
*************************** 1. row ***************************
   settingid: 1
 settingname: maxttl
settingvalue: 30
*************************** 2. row ***************************
   settingid: 2
 settingname: graphhopscale
settingvalue: 1
*************************** 3. row ***************************
   settingid: 3
 settingname: tracedelta
settingvalue: 2
*************************** 4. row ***************************
   settingid: 4
 settingname: traceroutepath
settingvalue: /usr/bin/traceroute
*************************** 5. row ***************************
   settingid: 5
 settingname: tracealert
settingvalue: Yes
*************************** 6. row ***************************
   settingid: 6
 settingname: maxbars
settingvalue: 50
*************************** 7. row ***************************
   settingid: 7
 settingname: alertemail
settingvalue: [email protected]
7 rows in set (0.00 sec)

Ответ 2

Есть несколько способов сделать результаты более читабельными:

Использование ограничения для просмотра только нескольких строк:

SELECT * FROM table LIMIT 10;

Только возврат столбцов:

SELECT a,b,c FROM table;

Завершение запросов с помощью \G для отправки текущего оператора на сервер, который будет выполнен, и отображения результата в вертикальном формате.

SELECT * FROM table \G

Ответ 3

В командной строке вы можете получить результаты возвращенных записей, показанных как отдельные форматированные записи (в отличие от длинной таблицы), используя \G в конце вашего запроса, например:

select * from <tablename> \G;

Ответ 4

Для систем, отличных от Windows, вы можете использовать less, чтобы сделать вывод форматированным или более читаемым.

mysql > pager less -SFX;
mysql > select * from databasename.table;

он выводит вывод sql на меньшее значение, получая табличный вывод, который можно прокручивать по горизонтали и вертикали с помощью клавиш курсора. выход, нажав 'q'

если вы не хотите, reset с помощью

mysql> nopager