WEBシステム開発・ディレクション
PerlのDBIで、データベースハンドル、ステートメントハンドルから利用できるメソッドとプロパティのメモです。 とりあえず、一覧だけ。 あとで解説を付け足すかも。
DBIの使い方について、自分が使うためのメモです。 頻繁に忘れるんですよね...。
use DBI;
use strict;
my $dsn = 'DBI::msql:hostname:dbname'; # たとえばMySQL
my $user = 'user';
my $pass = 'password';
my $dbh = DBI->connect(
$dsn, $user, $pass,
{ RaiseError => 1, AutoCommit => 0 }
) or die("cannot connect: $DBI::errstr");
$dbh->do('何かSQL、updateとか') or die($dbh->errstr);
$dbh->commit; # AutoCommit => 0 の場合
my $sth = $dbh->prepare('何かSQL、selectとか') or die ($dbh->errstr);
$sth->execute() or die ( $sth->errstr );
while ( my @row = $sth->fetchrow_array ) {
print join(",", @row), "\n";
}
$sth->finish(); # 通常不要
$dbh->disconnect();
そのほかによく使うのは
if ($sth->rows) {
while (my $ref = $sth->fetchrow_hashref) {
print $ref->{'フィールド名'};
}
}
else {
die('該当するデータが存在しませんでした。');
}
とか、そんな感じ。
最終更新日:2009/07/24