Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > Shell实现mysql查询结果保存为txt和csv

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

作者:promise524

本文介绍如何编写shell脚本,利用mysql命令行工具执行SQL查询,并将结果导出为CSV和TXT文件,通过--batch和--skip-column-names参数简化输出,用sed替换制表符生成CSV,保留制表符生成TXT,适合数据导出和自动化任务

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

1. 实现思路

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"

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文