我想编写一个Perl脚本,我可以在MySQL中输入一些选择查询,输出应该在某个日期范围之间以.csv格式输入。我是Perl的新手,这项任务非常重要,任何帮助都会受到赞赏。
我有4个选择查询,我应该能够使用flag在单独的csv文件中获取每个查询的输出。
先谢谢!!
答案 0 :(得分:2)
显然我不会在这里写一个基本的perl教程,但这应该指向正确的方向:
在perl脚本中,您需要使用DBI模块与数据库连接。然后,您只需将接收到的值打印为CSV格式的文件。
答案 1 :(得分:1)
我在这里写另一个答案。其他一些选择:
也许你根本不需要perl。您可以使用SQL直接生成CSV(例如,使用 shell脚本中的 mysql 命令行界面)。
您可以使用SELECT ... INTO OUTFILE ...
语法直接从数据库导出CSV。该文件将在数据库服务器计算机上输出。请参阅以下内容:http://www.wausita.com/2011/02/mysql-export-csv/
以下是perl中的示例:How do I dump contents of a MySQL table to file using Perl?
PS。您可以使用SO搜索功能和Google / Bing /类似,可以吗?
答案 2 :(得分:-1)
看看如何使用DBD :: mysql右here。然后,当您准备SQL并执行时,您将运行以下循环。 $ sql保存您的SQL select语句,$ file是您要创建的CSV文件的名称。然后$ connect是数据库的连接字符串,请检查DBD。
$dbh = DBI->connect($connect);
$sth = $dbh->prepare($sql);
$sth->execute;
$csv = Class::CSV->new( filename => $file, fields => $sth->{NAME} );
while(my @row = $sth->fetchrow) {
$csv->addline(@row);
}
$sth->finish;