[Perl] => [DBI]



perlからデータベースに接続するにはDBIモジュールを使用します。


以下はPostgreSQLの場合。


#モジュール読み込み
use DBI;


#データベースに接続
my $dbname = 'dbname' #データベース名
my $dbhost = 'dbhost'; #ホスト名
my $dbuser = 'dbuser'; #ユーザ名
my $dbpass = 'dbpass'; #DBパスワード

my $dbh = DBI->connect("DBI:Pg:dbname=$dbname;host=$dbhost","$dbuser","$dbpass",{AutoCommit => 1}) || warn $DBI::errstr;


#SQL文の準備
my $sth = $dbh->prepare("SELECT * from table_name");


#SQL文の実行
$sth->execute;


#SQL実行結果を表示
while (@row = $sth->fetchrow_array){
print "@row\n";
}


#データベースへの接続を切断
$sth->finish;
$dbh->disconnect || warn $dbh->errstr;


※INSERT文にてNULL値を与えるにはundefをわたせばよい。



広告
入門Perl DBI 入門Perl DBI
¥ 3,990 / 売り上げランク: 163127 / 377 ページ

DBIを使用したPerlスクリプトは、今までに幾つか書いてきましたが
DBIの機能を活かしきれたものではありませんでした。

適当なエラー処理、効率の悪い記述、そんなコードを捨てて、
DBIの能力を真に引き出したいのならば、この本は最適な本だと思います。

これからDBIを始める人にとっても、適度に飛ばして読めばDBIユーザの入門書となりますし既に使用していて、DBIの詳細を知りたい人にとってもオススメできます
読者としては「プログラミングPerl(ラクダ本)」を一通り読んだ程度を想定しているようです。

ご自分でDBDを書きたい方にはこれとあわせて「Perlを256倍使うための本 DBI編」も読むと参考になると思います。

Perlを256倍使うための本 DBI編 Perlを256倍使うための本 DBI編
¥ 1,260 / 売り上げランク: 283998 / 255 ページ

Perlが好きな人がDBDを自作する為の本ですね。
それ以外の人が読んでもほとんど無意味な本だと思います。
「256倍シリーズについにPerlが登場!Perlを用いてデータベースにアクセスするインターフェイスであるDBIについて徹底解説。Perlパワーの底力を知ろう!」といった内容紹介を読んでDBIの一般的な解説書だと思ったんですが、かなり方向が違ってました。
普通のDBIの解説書を求める人には(特に初心の方)全く理解不能の内容でしょう。また理解する必要のない内容です。
DBIの初歩的な部分は全く徹底解説されていません。
とても趣味性の濃い内容だと感じました。

Ruby‐DBウェブデザイン―Oracleなど10数種類のRDBに対応するRuby/DBI Ruby‐DBウェブデザイン―Oracleなど10数種類のRDBに対応するRuby/DBI
¥ 1,680 / 売り上げランク: 549139 / 287 ページ

タイトルに "DB" ってあるから期待して買ったのですが、DB の話はほとんど無く、何を書きたかったのか良く分からない内容の書籍でした。これだけ外した技術系の書籍もそうは無いんじゃないですか?