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

时间:2014-01-21 09:14:51

标签: mysql excel

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

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

2 个答案:

答案 0 :(得分:162)

来自Save MySQL query results into a text or CSV file

  

MySQL提供了一种用于编写select结果的简单机制   声明到服务器上的文本文件中。使用扩展选项   在INTO OUTFILE命名法中,可以创建逗号   可以导入电子表格的分隔值(CSV)   应用程序,如OpenOffice或Excel或任何其他应用程序   接受CSV格式的数据。

     

给出诸如

之类的查询
SELECT order_id,product_name,qty FROM orders
     

返回三列数据,结果可以放入   文件/tmp/orders.txt使用查询:

SELECT order_id,product_name,qty FROM orders
INTO OUTFILE '/tmp/orders.txt'
     

这将创建一个制表符分隔的文件,每行都在其自己的行上。至   更改此行为,可以向查询添加修饰符:

SELECT order_id,product_name,qty FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
     

在这个例子中,每个字段都用双引号括起来   字段将以逗号分隔,每行将在a上输出   由换行符分隔的新行(\ n)。此命令的示例输出   看起来像是:

"1","Tech-Recipes sock puppet","14.95" "2","Tech-Recipes chef's hat","18.95"
     

请记住,输出文件必须不存在,而且必须存在   用户MySQL正在运行,因为它具有对MySQL目录的写权限   正在尝试将文件写入。

<强>语法

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

或者您可以尝试通过客户端获取输出:

  

您可以尝试从本地客户端执行查询   将输出重定向到本地文件目标:

mysql -user -pass -e "select cols from table where cols not null" > /tmp/output

答案 1 :(得分:6)

您可以编写以下代码来完成此任务:

SELECT ... FROM ... WHERE ... 
INTO OUTFILE 'textfile.csv'
FIELDS TERMINATED BY '|'

将结果导出为CSV,然后将其导出到Excel工作表。