[英]Bash script to dump mysql view into csv
我正在尝试使用bash脚本将MYSQL视图中的输出转储为CSV。
作为灵感,我使用了这篇文章: 如何使用bash脚本写入mysql表
奇怪的是SELECT column1,column2,column3 FROM语法可以正常工作,但是当您有大约15列时,这是不实际的...
SELECT count(*)FROM也可以
但是SELECT * FROM抛出MYSQL语法错误
#!/bin/bash
fpath=/tmp/
fname=`date +%Y%m%d-%H%M%S`.csv
savedest=\'$fpath$fname\'
echo "Saving into"$savedest
params="-u root -p mydb"
s1="SELECT * FROM flat_view INTO OUTFILE "
s2=" FIELDS TERMINATED BY ','"
s3=" ENCLOSED BY '\"'"
s4=" LINES TERMINATED BY '\\n'"
selectend=";"
echo $s1$savedest$s2$s3$s4$selectend | mysql $params
我以为我没有适当地逃避某些事情。
PS。 这是Centos 5.8和mysql Ver 14.12 Distrib 5.0.95
在输入问题时,我决定尝试再做一件事:
s1="SELECT flat_view.* FROM flat_view INTO OUTFILE "
而且有效!
我发现对SELECT *可能含糊不清的参考*阅读MySQL文档: http : //dev.mysql.com/doc/refman/5.5/en/select.html
仍然很奇怪,SELECT * FROM在mysql命令行中可以正常工作,但在bash脚本中却不能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.