2013-08-22 31 views
0

我正在写一个shell脚本从mysql数据库(实际上,从一个特定的时间段到另一个数据库的一部分)中获取表并将其放入.csv文件中。 这里是我写的,我发现了一个错误使用mysql数据库

mysql -u -p -B -e "use mytable;select * from table3;" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > filename.csv 

(MySQL的多个查询)

(请也暗示,我怎么能提取从MySQL表中的数据进行特定的一段时间,说1月23日16:05至01月30日17:05)

请注意,表3是来自一个shell变量newtable的 所以我必须在代码 使用$ newtable的我不得不使用shell只有

+0

你得到了什么错误? – Barmar

+0

你想做什么? –

+0

请编辑您的问题并复制/粘贴您正在收到的确切错误。 – user1502952

回答

0

使用在你的脚本newtable的:

newtable="table3" 
"mysql -u -p -B -e "use mytable;select * from $newtable;" 

对于查询部分假设您正在使用“日期类型”一栏名为“期间”且说查询是:

"Select * from table3 where MONTHNAME(period)='January'; 

检查这个最新的更新内容按您的要求:

date="2010-08-11" 
start="10:09:09" 
end="21:50:59" 

"Select * from table3 where DATE(period)='$date' and TIME(period) between 
'$start'and '$end'"; 
+0

大家好, 的错误已经全部解决了。 我还在创作的问题是,我无法在某一特定时间段内生成数据库。日期,开始时间和结束时间由 说,例如 日期=“2013年8月7日” 开始=“01:30:00”结束 shell变量返回=“02:00:00” 所以如何获取数据库中$ date的时间$ start和$ end 谢谢 –

+0

什么是字段数据类型和字段名称,它将您的日期/时间记录保存在表格中。 – user1502952

+0

为日期,它是IVALDATE 开始时间它是IVALSTART –