Perl 中的数据库读取操作


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

  • 根据所需条件准备 SQL SELECT 查询。这将使用 prepare() API 完成。
  • 执行 SQL 查询以从数据库中选择所有结果。这将使用 execute() API 完成。
  • 一个接一个地获取所有结果并打印这些结果。这将使用 fetchrow_array() API 完成。
  • 释放语句句柄。这将使用 finish() API 完成。
my $sth = $dbh->prepare("SELECT FIRST_NAME, LAST_NAME FROM TEST_TABLE WHERE AGE > 20");
$sth->execute() or die $DBI::errstr;
print "Number of rows found :" + $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 "Number of rows found :" + $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();

更新于: 02-12-2019

603 次浏览

职业生涯起航

完成课程,获得认证

开始学习
广告