Perl中的数据库读取操作

在任何数据库上执行Perl READ操作意味着从数据库中获取一些有用的信息,即从一个或多个表中获得一个或多个记录。因此,一旦我们建立了数据库连接,就可以对这个数据库进行查询了。以下是查询所有AGE大于20的记录的过程。这将需要四个步骤-

  • 根据所需条件准备SQL SELECT查询。这将使用prepare() API完成。

  • 执行SQL查询以从数据库中选择所有结果。这将使用execute() API完成。

  • 一张一张地获取所有结果并打印这些结果。这将使用fetchrow_array() API完成。

  • 释放固定手柄。这将使用 f inish() API完成。

my $sth = $dbh->prepare("SELECT FIRST_NAME, LAST_NAME FROM TEST_TABLE WHERE AGE > 20");
$sth->execute() or die $DBI::errstr;
print "找到的行数:" + $sth->rows;
while (my @row = $sth->fetchrow_array()) {
   my ($first_name, $last_name ) = @row;
   print "First Name = $first_name, Last Name = $last_name\n";
}
$sth->finish();

使用绑定值

有时可能没有事先给出条件。因此,您可以使用绑定变量,该变量将在运行时获取所需的值。Perl DBI模块使用问号代替实际值,然后execute()在运行时通过API传递实际值。以下是示例-

$age = 20;
my $sth = $dbh->prepare("SELECT FIRST_NAME, LAST_NAME FROM TEST_TABLE WHERE AGE > ?");
$sth->execute( $age ) or die $DBI::errstr;
print "找到的行数:" + $sth->rows;
while (my @row = $sth->fetchrow_array()) {
   my ($first_name, $last_name ) = @row;
   print "First Name = $first_name, Last Name = $last_name\n";
}
$sth->finish();