shell腳本讀取mysql結(jié)果集的值

按行讀取sql結(jié)果:
相當(dāng)于把行的結(jié)果保存到一個(gè)數(shù)組,使用數(shù)組下標(biāo)訪問數(shù)據(jù)庫結(jié)果集的各列

while read -a row
do
echo "..${row[0]}..${row[1]}..${row[2]}.."
done < <(echo "SELECT A, B, C FROM table_a" | mysql database -u $user -p $password)

將sql執(zhí)行結(jié)果讀取到shell變量中:

while read a b c
do
echo "..${a}..$..${c}.."
done < <(echo "SELECT A, B, C FROM table_a" | mysql database -u $user -p $password)

注意: done< < 這樣才是正確寫法,done和第一個(gè)<之間沒有空格,兩個(gè)<之間有一個(gè)空格!

在linux下用shell腳本讀取mysql結(jié)果集各數(shù)據(jù)項(xiàng)的值,按行讀取sql結(jié)果,將sql執(zhí)行結(jié)果讀取到shell變量中,然就可進(jìn)行處理。

HOSTNAME="172.16.xx.xx" #數(shù)據(jù)庫信息
PORT="3306"
USERNAME="root"
PASSWORD="root"

DBNAME="log" #數(shù)據(jù)庫名稱
TABLENAME="student"

COMMAND1="mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME}
方法一:
while read -a row
do
echo "..${row[0]}..${row[1]}.."
done< <(echo "select id ,name from student;" | ${COMMAND1})

方法二:
while read a b
do
echo "..${a}..$.."
done< <(echo "select id ,name from student;" | ${COMMAND1})

注釋:注意"done< <("的寫法,第一個(gè)"<"要和"done"之間沒空格,兩個(gè)"<"之間有一個(gè)空格,"<" 和"("之間沒空格。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容