SELECT の結果を CSV に変換する場合など、空白を含むデータの扱いが面倒なので、MySQL の SELECT 文の段階で値をクォートして CSV 型式で出力しています。
カラム名の取得は information_schema.columns を利用しています。
table="テーブル名"
where="WHERE 条件"
user="-uユーザ"
host=""
mysql="mysql -s -r -B -N ${user} ${host}"
g=""
mksql()
{
echo "SELECT "
for i in `${mysql} -e "SELECT column_name FROM information_schema.columns WHERE table_name = '${table}'"`
do
echo "${g}CONCAT('\"', $i, '\", ')"
g=", "
done
echo " FROM ${table}"
}
mksql | ${mysql}