我应该如何编写Perl脚本来输入CSV格式的MySQL查询和输出?

时间:2011-08-31 05:52:56

标签: mysql perl

我想编写一个Perl脚本,我可以在MySQL中输入一些选择查询,输出应该在某个日期范围之间以.csv格式输入。我是Perl的新手,这项任务非常重要,任何帮助都会受到赞赏。

我有4个选择查询,我应该能够使用flag在单独的csv文件中获取每个查询的输出。

先谢谢!!

3 个答案:

答案 0 :(得分:2)

显然我不会在这里写一个基本的perl教程,但这应该指向正确的方向:

在perl脚本中,您需要使用DBI模块与数据库连接。然后,您只需将接收到的值打印为CSV格式的文件。

答案 1 :(得分:1)

我在这里写另一个答案。其他一些选择:

  1. 也许你根本不需要perl。您可以使用SQL直接生成CSV(例如,使用 shell脚本中的 mysql 命令行界面)。 您可以使用SELECT ... INTO OUTFILE ...语法直接从数据库导出CSV。该文件将在数据库服务器计算机上输出。请参阅以下内容:http://www.wausita.com/2011/02/mysql-export-csv/

  2. 以下是perl中的示例:How do I dump contents of a MySQL table to file using Perl?

  3. 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;