如何将 MySQL 查询的输出保存到 MS Excel 工作表?
即使只能将数据存储在.txt文件中,也可以。
.txt
从将 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 尝试将文件写入的目录具有写入权限。
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'or的东西INTO OUTFILE './output.csv',它会将输出文件存储到由show variables like 'datadir';.
INTO OUTFILE 'output.csv'
INTO OUTFILE './output.csv'
show variables like 'datadir';