我需要将从数据库检索到的结果存储在数组中。到目前为止,这基本上就是我尝试的方法,但没有成功。
Myarray=$(echo "SELECT A, B, C FROM table_a" | mysql database -u $user -p$password)
如您所见,我对 bash 命令的理解不是很好。谢谢。
答案1
这有效:
#!/bin/bash
results=($(mysql --user root -pwelcome ts -Bse "SELECT type, network_id, subnet_msk FROM remote_subnet;"))
cnt=${#results[@]}
for (( i=0 ; i<cnt ; i++ ))
do
echo "Record No. $i: ${results[$i]}"
fieldA=${results[0]};
fieldB=${results[1]};
fieldC=${results[2]};
done
答案2
以下对我有用:
results=($(executeQuery "SELECT fieldA, fieldB FROM tableName;")) count=${#results[@]} echo $count for (( i=2 ; i<count ; i++ )) do fieldA=${results[$i]}; echo $id i=$((i+1)) fieldB=${results[$i]}; echo $fieldB done
答案3
#! bin/bash
query="select * from test;"
myarray=$(mysql -h hostname -u user -ppass database << eof
$query
eof)
echo $myarray