我正在制作bash脚本,我需要一个SQL查询,但是它有bash的转义字符。
我想阅读没有bash转义字符的SQL查询,为什么这个转义字符是MySQL的。
QUERY="SELECT department_id, description FROM departments INTO OUTFILE '/var/lib/mysql-files/departaments.csv' FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\n';"谢谢!
发布于 2017-04-01 15:39:52
您可以使用
read -r -d '' query <<'EOF'
SELECT department_id, description FROM departments INTO OUTFILE '/var/lib/mysql-files/departaments.csv' FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\n';
EOF
printf "%s\n" "$query"输出
SELECT department_id, description FROM departments INTO OUTFILE '/var/lib/mysql-files/departaments.csv' FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\n';编辑,在需要展开变量的情况下,从EOF中删除',例如:
outfile=/tmp/file
read -r -d '' query <<EOF
SELECT department_id, description FROM departments
INTO OUTFILE '$outfile'
FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\n';
EOF
printf "%s\n" "$query"(注意$outfile变量)打印
SELECT department_id, description FROM departments
INTO OUTFILE '/tmp/file'
FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\n';https://stackoverflow.com/questions/43158575
复制相似问题