shell脚本读取mysql结果集的值

按行读取sql结果:
相当于把行的结果保存到一个数组,使用数组下标访问数据库结果集的各列

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执行结果读取到shell变量中:

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

注意: done< < 这样才是正确写法,done和第一个<之间没有空格,两个<之间有一个空格!

在linux下用shell脚本读取mysql结果集各数据项的值,按行读取sql结果,将sql执行结果读取到shell变量中,然就可进行处理。

HOSTNAME="172.16.xx.xx" #数据库信息
PORT="3306"
USERNAME="root"
PASSWORD="root"

DBNAME="log" #数据库名称
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}..${b}.."
done< <(echo "select id ,name from student;" | ${COMMAND1})

注释:注意"done< <("的写法,第一个"<"要和"done"之间没空格,两个"<"之间有一个空格,"<" 和"("之间没空格。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容