如何从Perl脚本创建MySQL数据库?

时间:2011-02-17 06:31:38

标签: mysql database perl dbi

我正在尝试在Perl中创建一个数据库,但它一直试图让我要求使用数据库。 这是我的代码:

my @db_months = qw(JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC);

foreach my $db_month (@db_months)
{
  ## create db
  my $db_name = $db_month.$Year;
  my $dbh = DBI->connect($dns, $user, $password) or die "Unable to connect: $DBI::errstr\n"; 
  my $row = $dbh->do("CREATE DATABASE '".$db_name."' DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;"); 
  $dbh->disconnect(); 
}

请帮忙。

3 个答案:

答案 0 :(得分:2)

只需省略database=$database;

即可
$dbh = DBI->connect("DBI:mysql:host=$host;port=$port", $user, $pw);
$dbh->do("create database test") or die "Cannot create database \n ";

答案 1 :(得分:1)

知道哪条线路出错以及错误究竟是什么确实很有帮助。

尝试在数据库名称周围使用反引号(`)而不是单引号(')...

答案 2 :(得分:0)

可以使用server administration function DBD::mysql

my $rc = $dbh->func( 'createdb', $db_name, 'admin' );