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

13 浏览
0 Comments

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

这个问题在这里已经有了答案

如何将MySQL查询的结果保存到Excel表格中?

如何将一个MySQL查询的输出保存到MS Excel表格中呢?

即使只能将数据保存为.txt文件也可以。

admin 更改状态以发布 2023年5月22日
0
0 Comments

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

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

它将结果导出到CSV,然后导出到Excel工作表中。

0
0 Comments

来自将MySQL查询结果保存到文本或CSV文件中

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'

在此示例中,每个字段将用双引号括起来,字段用逗号分隔,每行用换行符(\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

提示:如果您没有指定绝对路径,而是使用像INTO OUTFILE 'output.csv'INTO OUTFILE './output.csv'这样的内容,它将把输出文件存储到由show variables like 'datadir';指定的目录中。

0