Perl 教程 之 Perl 数据库连接 7
Perl 数据库连接
Perl 5 中我们可以使用 DBI 模块来连接数据库。
DBI 英文全称:Database Independent Interface,中文称为数据库独立接口。
DBI 作为 Perl 语言中和数据库进行通讯的标准接口,它定义了一系列的方法,变量和常量,提供一个和具体数据库平台无关的数据库持久层。
事务
和其它的语言一样, perl DBI对数据库的操作也支持事务处理, 它的实现方式有两个:
1、 在连接数据库的时候就开始一个事务
$dbh = DBI->connect($dsn, $userid, $password, {AutoCommit => 0}) or die $DBI::errstr;
以上代码在连接的时候设置了AutoCommit为false, 也就是说当你对数据库进行更新操作的时候, 它不会自动地把那些更新直接写到数据库里, 而是要程序通过 $dbh->commit 来使数据真正地写到数据库里, 或 $dbh->rollback 来回滚刚才的操作。
2、 通过$dbh->begin_work()语句来开始一个事务
这种方式就不需要在连接数据库的时候设置 AutoCommit = 0 。
可以一次数据库连接进行多次事务操作, 不用每一次事务的开始都去连接一次数据库。
$rc = $dbh->begin_work or die $dbh->errstr;
#
这里执行一些 SQL 操作
#
$dbh->commit; # 成功后操作
$dbh->rollback; # 失败后回滚
断开数据库连接
如果我们需要断开数据库连接,可以使用 disconnect API:
$rc = $dbh->disconnect or warn $dbh->errstr;