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();
广告