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');
这是一个老问题,但它仍然是Google上的第一个结果。最快的方法是使用ODBC查询或MySQL For Excel将MySQL直接链接到Excel。后一种方法在OP的评论中提到,但我觉得它确实值得自己的答案,因为导出到CSV不是实现这一点的最有效方法。 ODBC Queries-这是一个有点复杂的设置,但它是非常灵活的。例如,MySQL的Excel插件不允许您使用WHERE子句在查询表达式。这种方法的灵活性还允许您使用更复杂的方式使用数据。 MySQL For Excel-如果不需要对查询执行任何复杂的操作,或者需要快速轻松地完成某些操作,请使用此加载项。您可以在数据库中创建视图,以解决某些查询限制。
8条答案
按热度按时间omvjsjqw1#
一个很好的例子是,如果您有连接或where close,则在查询结束后编写它:
nfeuvbwi2#
使用以下查询:
yruzcnhs3#
在我的例子中,我需要将sql结果转储到客户端的一个文件中。这是从数据库中卸载数据的最典型的用例。在许多情况下,您没有访问服务器的权限,或者不想将结果写入服务器。
当您有一个持续几行的复杂查询时,问题就出现了;您无法使用命令行轻松地将结果转储到文件中。在这种情况下,您可以将复杂的查询放入一个文件(如longquery_file. sql)中,然后执行命令。
这对我很有效,唯一的困难是制表符;有时我使用的group_cancat(foo SEPARATOR 0x 09)在输出文件中会被写为'\t'。0x 09字符是ASCII TAB。但是这个问题并不是我们将sql结果转储到文件的方式所特有的。它可能与我的寻呼机有关。当你找到这个问题的答案时,请告诉我。我会更新这个帖子。
h79rfbju4#
我用来将mysql输出导出到文件的快捷方式是
$ mysql<database_name>--三通管接头=<file_path>
然后在任何需要的地方使用导出的输出(可以在
<file_path>
中找到)。请注意,这是避免使用
secure-file-priv
选项运行数据库的唯一方法,该选项会阻止使用前面的答案中建议的INTO OUTFILE
:q5lcpyga5#
对于
SHOW DATABASES
和SHOW TABLES
**
INTO OUTFILE
**不适用于 *SHOW TABLES
* 和 *SHOW DATABASES
* 查询。在这种情况下,您可以:
1.
SHOW DATABASES
1.一个月六个月一次
提示:
-e
标志代表execute
xcitsw886#
在我的例子中,
INTO OUTFILE
不起作用,因为MySQL用户与登录用户不同。而且,我不能使用内联变量,因为我的查询相当大。我最终使用了这个,它是如此容易。这可能不支持CSV或任何输出,但如果你需要输出,因为它是,这将工作。
来源:https://alvinalexander.com/mysql/how-save-output-mysql-query-file/
h6my8fg27#
这是一个老问题,但它仍然是Google上的第一个结果。最快的方法是使用ODBC查询或MySQL For Excel将MySQL直接链接到Excel。后一种方法在OP的评论中提到,但我觉得它确实值得自己的答案,因为导出到CSV不是实现这一点的最有效方法。
ODBC Queries-这是一个有点复杂的设置,但它是非常灵活的。例如,MySQL的Excel插件不允许您使用
WHERE
子句在查询表达式。这种方法的灵活性还允许您使用更复杂的方式使用数据。MySQL For Excel-如果不需要对查询执行任何复杂的操作,或者需要快速轻松地完成某些操作,请使用此加载项。您可以在数据库中创建视图,以解决某些查询限制。