如何将mysql查询输出保存为excel或.txt文件?

我有一个MySQL数据库。

如何将MySQL查询的输出保存到MS Excel工作表?

即使它只能将数据存储在.txt文件中,也没关系。

从保存MySQL查询结果到文本或CSV文件 :

MySQL提供了一个简单的机制来将select语句的结果写入服务器上的文本文件。 使用INTO OUTFILE命名法的扩展选项,可以创build逗号分隔值(CSV),可以将其导入到电子表格应用程序(如OpenOffice或Excel)或任何其他接受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' 

这将创build一个制表符分隔的文件,每行在自己的行。 要改变这种行为,可以在查询中添加修饰符:

 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正在运行,因为它正在尝试将文件写入目录。

句法

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

或者你也可以试试这个

您可以尝试从本地客户端执行查询,并将输出redirect到本地文件目标;

 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表单