[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)
オープン | 0 point | Link (5) | Trackback (0) | Comment (0)
キーワード
Perl DBI MySQL サンプル プログラム
[Perl]DBI経由でMySQLに接続して、SELECT文でデータを取得するサンプルプログラム 関連リンク
PerlフレームワークCatalyst完全入門 山田祥寛 | |
Perlで実装されたWebアプリケーションフレームワークである「Catalyst」の仕組みから、PerlやMySQLのインストール、基本構文、ビュー/モデル/コントローラの開発、プラグインモジュールによる機能拡張、単体テストま... |
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件)
- [大阪維新の会]大阪市交通局の市長選支援職員リスト捏造事件 (13 PV)
- スクエニ和田洋一社長、FF14の不評を認める (12 PV)
- 日本IT漫画新聞 (12 PV)
- 鳩山辞任で民主党支持率急回復、ネトウヨ狼狽 (12 PV)
- NBA ジャージ (10 PV)
- ヨルダン政府、ヨルダン人パイロット殺害の報復としてリシャウィ死刑囚の死刑を執行 (10 PV)
- 藤原紀香、陣内智則夫妻が離婚 (10 PV)
- シャア専用携帯「913SH G TYPE-CHAR」 (10 PV)
- アナログマとは (9 PV)
- ブレイドクロニクル RMT (9 PV)
今月のアクセスランキング(上位10件)
- 掲示板フリーソフト - 無料で利用できる掲示板CGI (27 PV)
- 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (23 PV)
- 【速報】パナマ文書に記載されている日本企業、日本人の一覧リスト (17 PV)
- スクエニ和田洋一社長、FF14の不評を認める (15 PV)
- WebRMT【ウェブRMT】-ラペルズ-RAPPELZ-RMT (14 PV)
- k本的に無料ソフト・フリーソフト (14 PV)
- [大阪維新の会]大阪市交通局の市長選支援職員リスト捏造事件 (14 PV)
- 日本IT漫画新聞 (14 PV)
- NBA ジャージ (13 PV)
- 鳩山辞任で民主党支持率急回復、ネトウヨ狼狽 (13 PV)
アクセス統計
ディレクトリ
- 59bbs.org - 掲示板
- Amalink - 画像付きamazon商品リンク作成ツール
- Mailform Std - オープンソースライセンス(GPLv2)のメールフォームCGI(Perl)
- ThreadPlus - オープンソースライセンスの(GPLv2)掲示板CGI(Perl)
- 2ちゃんねる掲示板検索
関連サイト
- 語句ログ - オープンソースブログソフト59Trackerを利用した情報共有ブログ
- 株価と為替レート(FX)の掲示板
- CommentPP - オープンソース掲示板システム(PHP/MySQL)のダウンロード
- BBS10 - CommentPP を利用したインターネット掲示板