shell脚本通过mysql获取数据
#数据库查询结果,结果为每行从左到右每个单元格为一行(首行为SQL查询结果的列名)#数组默认分割符号是空格,当查询结果中包含空格字符时,会导致一个字段被分割开,例如:create_time 2017-01-01 12:12:12 会变成两条#2017-01-01#12:12:12#因此,IFS=$'\t'采用tab来分割字段的值#mysql -u 用户名 -p 密码 -h 主机host 数据库名
·
#数据库查询结果,结果为每行从左到右每个单元格为一行(首行为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]}
更多推荐
已为社区贡献2条内容
所有评论(0)