我的要求是查询将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命令行工具,方式包括在您SELECT
声明INTO OUTFILE
子句来做到这一点:
SELECT ... FROM ... WHERE ...
INTO OUTFILE 'file.csv'
FIELDS TERMINATED BY ','
的详细选项见this link。
或者,您可以使用mysqldump来存储转储到使用--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 2016-11-30 06:23:09
这可能是graham.reeds寻找的。 – MattBianco 2017-10-26 09:55:52
使用下面的查询:
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的tab字符(foo SEPARATOR 0x09)将在输出文件中写为 '\ t'。 0x09字符是ASCII TAB。但是,这个问题并不是我们将sql结果转储到文件的方式。它可能与我的寻呼机有关。当你找到这个问题的答案时让我知道。我会更新这篇文章。
这是一个古老的问题,但它仍然是Google的首批成果之一。最快的方法是使用ODBC查询或MySQL For Excel将MySQL直接链接到Excel。后者是在对OP的评论中提到的,但我觉得它真的值得自己回答,因为导出到CSV并不是实现这一目标的最有效方式。
ODBC Queries - 这是一个稍微复杂的设置,但它更加灵活。例如,MySQL For Excel加载项不允许您在查询表达式中使用WHERE
子句。此方法的灵活性还允许您以更复杂的方式使用数据。
MySQL For Excel - 如果您不需要对查询进行任何复杂的操作,或者您需要快速轻松地完成某件事情,请使用此加载项。您可以在数据库中创建视图以解决某些查询限制。
哼哼......这有点含糊!任何技术,编程语言,约束,礼貌,“代码风格”? – sp00m 2012-04-24 09:33:07
您可以使用[Toad for MySQL(Freeware)](http://www.quest.com/toad-for-mysql)来实现此目的。 – DocJones 2012-04-24 09:50:44
@Priya,根据您的使用情况,也可以查看官方的[MySQL for Excel](https://www.mysql.com/why-mysql/windows/excel/)。 – Pacerier 2015-04-28 08:33:49