当前位置: 代码网 > it编程>前端脚本>Powershell > Shell实现mysql查询结果保存为txt和csv问题

Shell实现mysql查询结果保存为txt和csv问题

2026年08月17日 Powershell 我要评论
shell 脚本实现一个查询 mysql 数据库后将结果保存为 csv 和 txt 文件,可以使用 mysql 命令行工具执行 sql 查询,并将结果导出到文件中。1. 实现思路mysql 命令执行

shell 脚本实现一个查询 mysql 数据库后将结果保存为 csv 和 txt 文件,可以使用 mysql 命令行工具执行 sql 查询,并将结果导出到文件中。

1. 实现思路

  • mysql 命令执行 sql 查询后,默认输出的列使用制表符 (\t) 分隔。
  • 通过 --batch--skip-column-names 参数,取消了列名,并让结果更适合输出。
  • 使用 sed 's/\t/,/g' 将制表符替换为逗号,从而生成 csv 格式的输出。
  • 对于 txt 文件输出,保持原始的制表符格式即可,不需要使用 sed 进行替换。

2. shell 脚本

#!/bin/bash

# mysql 配置
db_host="localhost"
db_user="username"
db_password="password"
db_name="database"

# 要执行的 sql 查询
sql_query="select * from table;"

# 输出文件
csv_file="output.csv"
txt_file="output.txt"

# 查询并将结果保存为 csv 文件
mysql -h "$db_host" -u "$db_user" -p"$db_password" -d "$db_name" -e "$sql_query" \
  --batch --skip-column-names | sed 's/\t/,/g' > "$csv_file"

# 查询并将结果保存为 txt 文件
mysql -h "$db_host" -u "$db_user" -p"$db_password" -d "$db_name" -e "$sql_query" \
  --batch --skip-column-names > "$txt_file"

# 提示文件已保存
echo "查询结果已保存为 $csv_file 和 $txt_file"

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com