Есть ли консольная утилита, которая может экспортировать результат запроса mysql sql в файл Excel (xls)?
Ты можешь использовать mysqldump
для вывода CSV, который понимает Excel.
mysqldump -u<user> -p --tab=<path> --fields-enclosed-by=\" --fields-terminated-by=, <database>
Однако есть некоторые предостережения по памяти:
OUTFILE
поэтому клиент должен находиться на том же компьютере, что и сервер.mysqld
работает, поскольку потребуются разрешения на запись в выходной путь.chown
выходные файлы..txt
к .csv
..sql
файлы тоже. Вы можете их удалить.Если это то, что вы хотите делать регулярно, а не разовое, то было бы предпочтительнее писать скрипт без использования mysqldump
. Я создал инструмент, который мы используем для внутренних целей, который использует модули Python MySQL и CSV, который работает без оговорок, указанных выше.
Вы можете использовать этот синтаксис:
SELECT order_id,product_name,qty FROM orders INTO OUTFILE '/tmp/orders.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'
Он создаст CSV-файл с результатом вашего запроса, который можно будет импортировать в Excel.
Возможно, это не тот ответ, которого вы ожидали, но на майской конференции NLUUG я увидел презентацию разработчика либферрис. В то время я думал, что это хобби, больше, чем проект, имеющий реальное техническое применение, но со временем я изменил свое мнение.
Вся идея состоит в том, чтобы смонтировать (да, смонтировать) вашу базу данных как файловую систему, а затем с ее помощью управлять вашими данными. Разработчик особо отметил, что можно будет использовать подключенную базу данных MySQL, полностью читаемую и записываемую, через Excel.
Хотя может быть и чересчур. Вам следует изучить возможность экспорта в CSV (легко скрипт) и импорта в Excel.