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

如何将 MySQL 查询的输出保存到 MSExcel 表中?

即使只能将数据存储在 .txt文件中,也没有问题。

534250 次浏览

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

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

它将结果导出到 CSV,然后将其导出到 Excel 表。

来自 将 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

提示: 如果您没有指定一个 absoulte 路径,而是使用类似于 INTO OUTFILE 'output.csv'INTO OUTFILE './output.csv'的内容,那么它将把输出文件存储到 show variables like 'datadir';指定的目录中。