我非常试图遍历sql查询结果... 它工作得很好,除了字符串中有空格的变量使我产生奇怪的输出......比如它们被认为是数组或类似的东西......任何想法?
echo "SELECT shop_id, shop_address1, shop_address2, shop_zip, shop_city FROM base.table" | mysql -h hostname -u user -ppassword | while read -r shop_id shop_address1 shop_address2 shop_zip shop_city;
do
echo $shop_address1
done
答案 0 :(得分:1)
对于这类任务,我使用AWK。
例如,如果您想获得第一列和第三列:
mysql -u <USER> -p<PASSWORD> -h <HOST> < <QUERY_FILE> | awk -F"\t" '{print $1","$3;}' -
$ X是访问第X列的方式,就像“数组表示法”。
显然你可以使用AWK做更多复杂的tak; - )
答案 1 :(得分:0)
使用OUTFILE提取到csv
SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;
然后使用cut
和分隔符访问字段