如何使用shell脚本在平面文件中获取SQL查询的输出

时间:2015-01-02 11:15:03

标签: sql linux shell unix

我想使用shell脚本自动化包含多个SQL查询的SQL文件,同时我想从中获取上一个查询输出 SQl文件到任何平面文件中。

2 个答案:

答案 0 :(得分:0)

awk命令将在文件中找到最后一个以分号分隔的查询并将其传递给mysql

awk 'BEGIN {RS=";"} NF > 0 {query=$0; } END {print query}' file.sql | mysql -u username -p password > output.txt

NF > 0使其无法将query设置为最后;后的空行。

答案 1 :(得分:0)

您可以创建一个执行每个查询的文件,但只发送最后一个查询的输出。

#!/bin/bash

mysql -h... -u... -p... -e 'query1' > /dev/null

mysql -h... -u... -p... -e 'query2' > /dev/null

mysql -h... -u... -p... -e 'query3' > /result.sql