Выгрузить результат SQL-запроса в переменную вместо файла в сценарии оболочки

При получении информации из базы данных MySQL из сценария оболочки мне обычно приходится выгружать результат в файл, чтобы собрать весь вывод в строке:

mysql -uroot -p'password' dbname<<EOFMYSQL
SELECT col1,col2,col3 FROM table1
INTO OUTFILE '/tmp/file.txt'
EOFMYSQL

Выход:

val1_1|val2_1
val1_2|val2_2
...

Вместо нескольких строк, когда я выгружаю вывод в переменную без INTO OUTFILE '/tmp/file.txt':

col1 val1_1
col2 val2_1
col1 val1_2
...

Я хотел бы знать, есть ли способ не использовать файлы при получении первого вывода формата в переменную.

Заранее спасибо.

UNLOAD не является синтаксисом MySQL. Вы используете MySQL или Informix?
Barmar 12.07.2019 18:46

Итак, вы спрашиваете, как заставить SELECT печатать вывод в стиле CSV на стандартный вывод, а не только при выгрузке в файл?

Barmar 12.07.2019 18:55

Да, я исправил вопрос, извините. Я использовал mysql в качестве примера, так как думал, что он будет более популярным.

Lequiv 12.07.2019 18:55

Но если вы действительно используете Informix, как вам поможет решение MySQL?

Barmar 12.07.2019 18:56

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

Lequiv 12.07.2019 18:56

Я не думаю, что в MySQL есть способ.

Barmar 12.07.2019 18:57
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
6
138
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я решил, что мне просто нужно использовать /dev/stdout в качестве выходного файла. Спасибо всем

Другие вопросы по теме