Как сохранить вывод запроса MySQL в excel или.файл txt? [дубликат]

этот вопрос уже есть ответ здесь:

Как сохранить вывод запроса MySQL на лист MS Excel?

даже если можно хранить данные только в .txt файл, все будет хорошо.

2 ответов


С сохранить результаты запроса MySQL в текстовый или CSV-файл:

MySQL предоставляет простой механизм для записи результатов выбора заявление в текстовый файл на сервере. Использование расширенных опций номенклатура INTO OUTFILE, можно создать запятую разделенное значение (CSV), которое можно импортировать в электронную таблицу применение как OpenOffice или Excel или любое другое applciation которое принимает данные в формате CSV.

учитывая запрос, такой как

SELECT order_id,product_name,qty FROM orders

, который возвращает три столбца данных, результаты могут быть помещены в файл / tmo / orders.txt с помощью запроса:

SELECT order_id,product_name,qty FROM orders
INTO OUTFILE '/tmp/orders.txt'

это создаст файл, разделенный вкладками, каждая строка в своей собственной строке. К изменить это поведение, можно добавить модификаторы запрос:

SELECT order_id,product_name,qty FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

в этом примере каждое поле будет заключено в "двойные кавычки", поля будут разделены запятыми, и каждая строка будет быть выход на новая строка, разделенная новой строкой (\n). Пример вывода этой команды будет выглядеть так:

"1","Tech-Recipes sock puppet","14.95" "2","Tech-Recipes chef's hat","18.95"

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

синтаксис

   SELECT Your_Column_Name
    FROM Your_Table_Name
    INTO OUTFILE 'Filename.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'

или вы можете попробовать это тоже

вы можете попробовать выполнить запрос из вашего локальный клиент и перенаправить выходные данные в локальный файл назначения;

Mysql -user -pass -e"select cols from table where cols not null" > /tmp/output

для выполнения этой задачи можно написать следующие коды:

SELECT ... FROM ... WHERE ... 
INTO OUTFILE 'textfile.csv'
FIELDS TERMINATED BY '|'

он экспортирует результат в CSV, а затем экспортирует его в лист excel.