#数据库查询结果,结果为每行从左到右每个单元格为一行(首行为SQL查询结果的列名)
#数组默认分割符号是空格,当查询结果中包含空格字符时,会导致一个字段被分割开,例如:create_time 2017-01-01 12:12:12 会变成两条 
#2017-01-01
#12:12:12
#因此,IFS=$'\t'采用tab来分割字段的值
#mysql -u 用户名 -p 密码 -h 主机host 数据库名 -e 执行脚本内容'SELECT \`id\`,\`name\` FROM user"'`
#mysql -u 用户名 -p 密码 -h 主机host 数据库名 -s -e 执行脚本内容'SELECT \`id\`,\`name\` FROM user"'` #-s 去掉表头

IFS=$'\t\n'  #分割字段
 
SQL="SELECT ip FROM test"
user_attrs=(`mysql -h 127.0.0.1 -P 3306 -u root -proot test   -Ne "${SQL}"`)
 

echo 'user_attrs = '${user_attrs}
 
 
#循环遍历查询结果行数
echo "columnNum"=$columnNum
echo "user_attrs[@]"=${#user_attrs[@]}
 
rowNum=`getRowNum ${#user_attrs[@]}` #获取总行数
echo "rowNum="$rowNum
 
#${#user_attrs[@]}获取数组长度
#echo "user_attrs[@]"=${#user_attrs[@]}
 
 
#打印数组结果集
 
for (( i=0; i<${#user_attrs[@]}; i=i+1))
do
  echo "user_attrs[${i}]"=${user_attrs[i]}
done
 
# 或者单个打印输出
 
echo "user_attrs[0]"=${user_attrs[0]}
echo "user_attrs[1]"=${user_attrs[1]}
echo "user_attrs[2]"=${user_attrs[2]}
echo "user_attrs[3]"=${user_attrs[3]}
echo "user_attrs[4]"=${user_attrs[4]}
echo "user_attrs[5]"=${user_attrs[5]}
echo "user_attrs[6]"=${user_attrs[6]}
echo "user_attrs[7]"=${user_attrs[7]}
echo "user_attrs[8]"=${user_attrs[8]}
echo "user_attrs[9]"=${user_attrs[9]}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐