如何在Perl中创建数据库连接?

假设我们将通过Perl使用MySQL数据库。连接到数据库之前,请确保以下内容。如果您不知道如何在MySQL数据库中创建数据库和表,可以参考我们的MySQL教程。

  • 您已经创建了一个名称为TESTDB的数据库。

  • 您已经在TESTDB中创建了一个名称为TEST_TABLE的表。

  • 该表的字段为FIRST_NAME,LAST_NAME,AGE,SEX和INCOME。

  • 用户ID“ testuser”和密码“ test123”设置为访问TESTDB。

  • Perl Module DBI已正确安装在您的计算机上。

  • 您已经阅读了MySQL教程,以了解MySQL基础。

以下是连接MySQL数据库“ TESTDB”的示例-

#!/usr/bin/perl
use DBI
use strict;
my $driver = "mysql";
my $database = "TESTDB";
my $dsn = "DBI:$driver:database=$database";
my $userid = "testuser";
my $password = "test123";
my $dbh = DBI->connect($dsn, $userid, $password ) or die $DBI::errstr;

如果与数据源建立了连接,则将返回数据库句柄并将其保存到$dbh中以供进一步使用,否则$dbh设置为undef值,而$DBI::errstr返回错误字符串。

断开数据库

要断开数据库连接,请使用断开连接API,如下所示:

$rc = $dbh->disconnect or warn $dbh->errstr;

不幸的是,断开连接方法的事务行为是不确定的。某些数据库系统(例如Oracle和Ingres)将自动提交任何未完成的更改,而其他数据库系统(例如Informix)将回滚任何未完成的更改。不使用AutoCommit的应用程序应在调用断开连接之前显式调用commit或rollback。