Мое требование хранить целые результаты запросаЭкспорт результатов запроса Mysql для Excel?
SELECT * FROM document
WHERE documentid IN (SELECT * FROM TaskResult WHERE taskResult = 2429)
в файл Excel.
Мое требование хранить целые результаты запросаЭкспорт результатов запроса Mysql для Excel?
SELECT * FROM document
WHERE documentid IN (SELECT * FROM TaskResult WHERE taskResult = 2429)
в файл Excel.
Типичным способом достижения этого является экспорт в CSV, а затем загрузка CSV в Excel.
Вы можете с помощью любого MySQL инструмент командной строки, чтобы сделать это, в том числе пункт INTO OUTFILE
на вашем SELECT
заявление:
SELECT ... FROM ... WHERE ...
INTO OUTFILE 'file.csv'
FIELDS TERMINATED BY ','
См this link подробные варианты.
В качестве альтернативы, вы можете использовать туздЫшпр для хранения дампа в формате значений, разделенных с помощью --tab параметра см this link.
mysqldump -u<user> -p<password> -h<host> --where=jtaskResult=2429 --tab=<file.csv> <database> TaskResult
Хороший пример может быть, когда упаковывают писать ее после того, как в конце вашего запроса, если у вас есть соединения или где близко:
select 'idPago','fecha','lead','idAlumno','idTipoPago','idGpo'
union all
(select id_control_pagos, fecha, lead, id_alumno, id_concepto_pago, id_Gpo,id_Taller,
id_docente, Pagoimporte, NoFactura, FacturaImporte, Mensualidad_No, FormaPago,
Observaciones from control_pagos
into outfile 'c:\\data.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n');
OP ссылался на файлы Excel, а не на CSV. – Vizkrig
Возможно, это то, что искали graham.reeds. – MattBianco
ниже используется запрос:
SELECT * FROM document INTO OUTFILE 'c:/order-1.csv' FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES TERMINATED BY '\n';
В моем случае мне нужно отправить sql-результат в файл на стороне клиента. Это наиболее типичная ситуация. У вас нет доступа к серверу или вы не хотите записывать результат на сервер. Проблема в том, что у вас сложный запрос, который длится несколько строк; вы не можете использовать командную строку, чтобы легко сбрасывать результат в файл.
mysql -h hostname -d databasename -u username -ppwd -e "mysql simple sql statement that last for less than a line" > outputfile_on_the.client
вы можете поместить свой сложный запрос в файл: longquery_file.sql Выполнить команду
mysql -h hn -d dn -u un -ppwd <longquery_file.sql> output.txt
Это работало для меня. Единственная сложность со мной - это символ табуляции, который иногда я использую для group_cancat (foo SEPARATOR 0x09), будет записан как '\ t' в выходном файле. Символом 0x09 является ASCII TAB. Но эта проблема не связана с тем, как мы сбрасываем результаты sql в файл. Это может быть связано с моим пейджером. Дайте мне знать, когда вы найдете ответ на эту проблему. Я обновлю этот пост.
Это старый вопрос, но он по-прежнему является одним из первых результатов в Google. Самый быстрый способ сделать это - связать MySQL напрямую с Excel с помощью запросов ODBC или MySQL для Excel. Последнее было упомянуто в комментарии к OP, но я чувствовал, что он действительно заслуживает собственного ответа, потому что экспорт в CSV не самый эффективный способ достичь этого.
ODBC Queries - Это немного сложнее настроить, но это намного более гибко. Например, надстройка MySQL для Excel не позволяет использовать в выражениях запроса WHERE
. Гибкость этого метода также позволяет использовать данные более сложными способами.
MySQL For Excel - Используйте эту надстройку, если вам не нужно делать что-либо сложное с запросом или если вам нужно что-то сделать быстро и легко. Вы можете создавать представления в своей базе данных, чтобы обойти некоторые ограничения запросов.
Хм ... это немного расплывчато! Любой техно, язык программирования, ограничения, вежливость, «стиль кода»? – sp00m
Для достижения этой цели вы можете использовать [Toad for MySQL (Freeware)] (http://www.quest.com/toad-for-mysql). – DocJones
@Priya, в зависимости от вашего варианта использования, также см. Официальный [MySQL for Excel] (https://www.mysql.com/why-mysql/windows/excel/). – Pacerier