query.sql get_list () { mysql -u teamcity -ppass-6ren">
gpt4 book ai didi

mysql - 从 bash 脚本运行 sql 命令?

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:23 27 4
gpt4 key购买 nike

我创建了一个必须更改表引擎的小脚本:

#!/bin/bash

echo "use test_1;" > query.sql

get_list () {
mysql -u teamcity -ppassword -B -N -e 'show tables like "%"' test_1 | xargs -I '{}' echo "alter table {} engine=innodb;" >> query.sql
}

get_list ;

mysql -u teamcity -ppassword < query.sql

但是 - 如何避免使用 query.sql 文件?我对“此处文档”进行了几次尝试 - 但无法解决它...

例如 - 试试这个:

#!/bin/bash

get_list () {
mysql -u teamcity -ppassword -B -N -e 'show tables like "%"' test_1 | xargs -I '{}' echo "alter table {} engine=innodb;"
}

a="$(get_list)"
b="use test_1;"
c="$b $a"

mysql -u teamcity -ppassword <<< $c

但它不起作用...

最佳答案

将所有内容放在一个函数中并通过管道传递:

#!/bin/bash
get_list () {
echo "use test_1;"

mysql -u teamcity -ppassword -B -N -e 'show tables like "%"' test_1 | xargs -I '{}' echo "alter table {} engine=innodb;"
}

get_list | mysql -u teamcity -ppassword

关于mysql - 从 bash 脚本运行 sql 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20351573/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com