Как сохранить результаты 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 -uroot -p DatabaseName -t -e "select * from table" > file.txt
Это не нужно делать файл SQL, а затем отфильтровать первую строку.