在任何数据库上执行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();