我想使用shell脚本自动化包含多个SQL查询的SQL文件,同时我想从中获取上一个查询的输出 SQl文件到任何平面文件中。
答案 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