Как сохранить результаты MySQL в файл в формате таблицы

Я пытаюсь создать файл и сохранить в него результаты моих запросов. У меня есть пакетный файл, содержащий один запрос,

USE database1;

SELECT * FROM table WHERE name = "abc" INTO OUTFILE output.txt;

QUIT

выполнения этого пакетного файла с помощью,

mysql -u root -p -t -vvv < select.sql

однако результат не отформатирован в таблице, а имена полей отсутствуют сверху.

100 abc Brown 32
101 abc Flair 25
102 abc McDonald 45
.
.
.

если я удаляю оператор INTO OUTFILE и печатаю результаты на терминале, то работает нормально.

+----+------+---------+-----+
| id | name | surname | age |
+----+------+---------+-----+
| 100| abc  | Brown   |   32|
| 101| abc  | Flair   |   25|
| 102| abc  | McDonald|   45|
+----+------+---------+-----+

как я могу достичь выше в txt файл?

обновление

особая благодарность GreyBeardedGeek. Вот решение этого вопроса с помощью GreyBeardedGeek.

пакетный файл:

USE database1;

SELECT * FROM table WHERE name = "abc";

QUIT

и клиент mysql:

mysql -u root -p -t -vvv < select.sql > output.txt

2 ответов


это должно сделать трюк:

mysql -u root -p -t -vvv < select.sql | sed '1 d' > output.txt

вы также можете сделать следующее:

mysql -uroot -p DatabaseName -t -e "select * from table" > file.txt

Это не нужно делать файл SQL, а затем отфильтровать первую строку.