[Perl]DBI経由でMySQLに接続して、SELECT文でデータを取得するサンプルプログラム

PerlのプログラムからDBI経由でMySQLに接続し、SELECT文でデータを取得する処理のサンプルプログラムです。

あらかじめphpMyAdminを使用してMySQLにテータベース「testdb」を作成し、以下のSQLを実行しテーブル「users」を作成、3件のレコードを登録しておきます。

CREATE TABLE `users` (
  `userid` varchar(100) COLLATE utf8_bin NOT NULL,
  `password` varchar(250) COLLATE utf8_bin NOT NULL,
  `status` int(11) NOT NULL,
  `auth` int(11) NOT NULL,
  `username` varchar(250) COLLATE utf8_bin NOT NULL,
  `address` varchar(250) COLLATE utf8_bin NOT NULL,
  `mailaddr` varchar(100) COLLATE utf8_bin NOT NULL,
  `hpurl` varchar(250) COLLATE utf8_bin NOT NULL,
  `widgets` text COLLATE utf8_bin NOT NULL,
  `createdate` datetime NOT NULL,
  `lastupdate` datetime NOT NULL,
  PRIMARY KEY (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

insert into `users` (`userid`,`password`,`status`,`auth`,
 `username`,`address`,`mailaddr`,`hpurl`,`widgets`,
 `createdate`,`lastupdate`)
  values('admin','1234','1','0','webmaster','',
  webmaster100@59log.com','http://59log.com/','',now(),now());
insert into `users` (`userid`,`password`,`status`,`auth`,
 `username`,`address`,`mailaddr`,`hpurl`,`widgets`,
 `createdate`,`lastupdate`)
  values('test1','5678','1','1','user 1','',
  'test1@59log.com','http://59log.com/','',now(),now());
insert into `users` (`userid`,`password`,`status`,`auth`,
 `username`,`address`,`mailaddr`,`hpurl`,`widgets`,
 `createdate`,`lastupdate`)
  values('test2','abcd','1','1','user 2','',
  'test2@59log.com','http://59log.com/','',now(),now());

以下のPerlプログラムでは、テーブル「users」からステータスが1のレコードを全て取得、一旦配列に格納してから標準出力に出力しています。

検索条件の設定にはプレースホルダを使用し、DB処理でエラーが発生した場合は、例外処理に飛んでエラーの内容が出力されるように、RaiseErrorに1を設定しています。

--- mysql_select.pl ---

#!/usr/bin/perl

use strict;
use warnings;

use DBI;

my $data_source = "DBI:mysql:testdb"; # 接続先はtestdb
my $username = "test"; # データベースへのアクセス権限を持つユーザーを指定
my $password = "abcd"; # そのパスワード

my $status = 1;
my @recs = ();
eval {
    my $dbh = DBI->connect($data_source, $username, $password,
                          {RaiseError => 1, PrintError => 0});
    my $sql  = "select * from users where status = ?";
    my $sth = $dbh->prepare($sql);
    $sth->execute($status);
    while (my @rec = $sth->fetchrow_array) {
        push @recs, [@rec];
    }
    $sth->finish;
    $dbh->disconnect;
};
if ($@) {
    print "Error : $@\n";
}

foreach my $rec (@recs) {
    print join(",", @{$rec}), "\n";
}
[2152] Posted by kagahiro at 2010/07/26 09:49:13
オープン | 0 point | Link (5) | Trackback (0) | Comment (0)

キーワード
Perl DBI MySQL サンプル プログラム

語句検索のホームページ


[Perl]DBI経由でMySQLに接続して、SELECT文でデータを取得するサンプルプログラム 関連リンク

PerlフレームワークCatalyst完全入門 山田祥寛
Perlで実装されたWebアプリケーションフレームワークである「Catalyst」の仕組みから、PerlMySQLのインストール、基本構文、ビュー/モデル/コントローラの開発、プラグインモジュールによる機能拡張、単体テストま...
Perl(パール)とは
Perl(パール)とは、Larry Wall(ラリー・ウォール)氏によってテキスト処理(テキストの検索や抽出やレポート作成など)のための言語として開発された、C言語に似た表記法のインタープリタ型のスクリプトプログラミ...
[Perl][MySQL]INSERT文でシングルクオートを含んだレコードを追加するには
PerlからDBIモジュールを使ってMySQLのテーブルにINSERT文でシングルクオートの含んだレコードを追加するには、次のようにprepare メソッドでプレースホルダを使ったステートメントハンドルを取得して、execute メソ...
[Perl]2次元配列のサンプルプログラム
C言語やC++なら2次元配列といっても配列の階層を増やすだけなので、わりと簡単に理解できるのですが、Perlはそこでリファレンスという、いまいちわかりにくいものが出てくるのでちょっと面倒です。とはいっても、2次...
PHPでMySQLに接続して、SELECTでデータを取得するサンプルプログラム
PHPのプログラムからMySQLに接続し、SELECTでデータを取得する処理のサンプルプログラムです。あらかじめphpMyAdminを使用してMySQLにテータベース「testdb」を作成し、以下のSQLを実行しテーブル「users」を作成、3...

[Perl]DBI経由でMySQLに接続して、SELECT文でデータを取得するサンプルプログラム トラックバック

トラックバックURL :


[Perl]DBI経由でMySQLに接続して、SELECT文でデータを取得するサンプルプログラムへのコメント


詳細の入力フィールドを表示する

おすすめ  (チェックしてコメントすると最新情報に掲載)
コメント :

< 前のスレッド      次のスレッド >

アクセスランキング

今日のアクセスランキング(上位10件)

  1. 【速報】パナマ文書に記載されている日本企業、日本人の一覧リスト (7 PV)
  2. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (7 PV)
  3. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (6 PV)
  4. [Twitter]ツイッター検索のまとめ (6 PV)
  5. 2chまとめサイト(ブログ)検索 (5 PV)
  6. 佐野研二郎氏の妻「実際にデザインを担当しているのは数人の部下。佐野は監修しただけ」パクリ疑惑を完全否定 (5 PV)
  7. ホッシュジエンの国内ニュース解説 (4 PV)
  8. CIA情報提供者「ジェラルド・カーティス」が菅首相を訪問、みんなの党との連立を指示か (4 PV)
  9. 自称「紀州のドンファン」和歌山の資産家「野崎幸助」氏が覚せい剤で不審死、警察は殺人容疑で捜査 (4 PV)
  10. 2NN (2ch News Navigator) (4 PV)

今月のアクセスランキング(上位10件)

  1. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (150 PV)
  2. 【速報】パナマ文書に記載されている日本企業、日本人の一覧リスト (65 PV)
  3. [Twitter]ツイッター検索のまとめ (63 PV)
  4. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (47 PV)
  5. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (46 PV)
  6. 2NN (2ch News Navigator) (41 PV)
  7. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (38 PV)
  8. 伝説の男、瓜田純士さんが新宿駅構内で2週間前に割腹自殺を図る (35 PV)
  9. PHP、MySQLで動くオープンソース掲示板ソフト (26 PV)
  10. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (25 PV)

アクセス統計

ディレクトリ

関連サイト