繁体   English   中英

Bash脚本将mysql视图转储到csv中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM