2011-04-01
DBIx::Customリファレンス
DBIx::Customはinsert,update,delete,selectなどの実行を簡単にするためのDBIを拡張したモジュールです。純粋なDBIの機能に加えて、便利な機能が実装されています。O/Rマッパーとしては、覚えることは比較的少なく、生のSQLに近い記述ができます。必要に応じて機能を覚えていくことができます。とても使いやすくてて便利です。
一番簡単な使い方は以下のようになります。
use DBIx::Custom; my $dbi = DBIx::Custom->connect(dsn => $dsn); $dbi->insert({id => 1, title => 'Perl'}, table => 'book'); $dbi->update({title => 'Perl'}, table => 'book', where => {id => 1}); $dbi->delete(where => {id => 1}, table => 'book'); my $rows = $dbi->select(table => 'book')->all;
DBIx::Customの機能
DBIx::Customは以下のような便利な機能を備えています。
- insert, update, delete, selectを簡単に実行
- 柔軟なWhere句の生成
- 名前つきプレースホルダーのサポート
- モデルのサポート
- コネクションマネージャーのサポート
- MySQL, PostgreSQL, SQLite, Oracle, Microsoft SQL Server, Microsoft Accessなど多くのRDBMSで利用可能。
- データ型、列名によるフィルタリング
- 柔軟なorder by句の生成
- 高速な複数データのinsertのサポート
- バルクインサートのサポート(MySQL, PostgreSQL)
PerlのO/RマッパーとしてRubyのActiveRecordのようなものやその代替を探しているなら、一度DBIx::Customを利用してみるのはいかがでしょうか。
またDBIx::Classが非常に複雑と感じる方や、DBIやDBIx::Simpleを利用していて、機能が足りないなぁと思った方も一度試していただければと思います。SQL::Abstructが持っているようなSQLの動的生成機能もDBIx::Customには含まれています。
DBIx::Customはより結合度が低くどのようなRDBMSでも利用できる便利なモジュールになっています。
インストール
データベースへの接続
DBIx::Customはたくさんのデータベースでも利用することができます。
- データベースへ接続する
- 各データベースへの接続
クエリの実行
- SQLを実行する execute
- 行の挿入 insert
- 行の更新 update
- すべての行の更新 update_all
- 行の削除 delete
- すべての行の削除 delete_all
- 行の選択 select
- 行の件数を取得する count
行のフェッチ
Where句の動的な作成
Order By句の動的な生成
フィルタリング
モデル
パラメーターのマッピング
コネクションマネージャー
パフォーマンス
デバッグ
応用的な機能
SQLの生成
- select文で利用する列名を簡単に生成する - column
- テーブル名の修飾のない列名を生成する - mycolumn
- insert文の中のvaluesの部分を動的に生成する - values_clause
- update文で値を代入する部分を動的に生成する
- 予約語のためのクォートを変更する - quote
- テーブル名と列名の区切り文字を変更する - separator
- like演算子のための値を生成する - like_value
- 現在時刻を生成するサブルーチンの登録 - now
テーブルと列の情報
- すべてのテーブルを表示する show_tables
- テーブルの情報を取得する get_table_info
- すべてのテーブルの情報を順番に調べる each_table
- データベースのテーブルの情報を設定する - user_table_info
- 列の情報を取得する get_column_info
- すべての列の情報を順番に調べる each_column
- データベースの列の情報を設定する user_column_info
- テーブルを指定してすべての列のタイプ名を表示する show_typename
- 指定したテーブルのすべての列のデータタイプを表示する show_datatype
- タイプ名の一覧の取得 available_typename
- データタイプの一覧の取得 available_datatype
- 検索するテーブルから特定のテーブルを除外する exclude_table
ユーティリティ
- ヘルパーメソッドを登録する helper
- パラメーターをマージする merge_param
- DBIx::Customオブジェクトを生成する new
- データベースハンドルを取得する
- テーブルの存在を確認する
- 廃止予定のタグの解析機能を停止してパフォーマンスを上げる
トラックバック - http://d.hatena.ne.jp/perlcodesample/20110401/1305597081
リンク元
- 64 https://www.google.co.jp/
- 29 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBkQFjAA&url=http://d.hatena.ne.jp/perlcodesample/20100302/1269670120&rct=j&q=perl ????????????&ei=z9TRTa_sLIf6swOKw-GrCQ&usg=AFQjCNH-J98HDtJ8tMTQHYOVjt6idhw_hg
- 20 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDAQFjAA&url=http://d.hatena.ne.jp/perlcodesample/20110401/1305597081&ei=y2w9UaHeAsSNkwWHq4D4BA&usg=AFQjCNHlKwl-JEU1j_hItacBy-fXSMHLUw&bvm=bv.43287494,d.dGI
- 9 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBwQFjAA&url=http://d.hatena.ne.jp/perlcodesample/20080421/1208795005&rct=j&q=正規表現 最小マッチング&ei=19fRT
- 8 http://cielquis.net/programming-grammer/index.html
- 7 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4SKPB_jaJP280JP281&q=perl+csv
- 5 http://b.hatena.ne.jp/t/perl?sort=eid
- 4 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CB0QFjAA&url=http://d.hatena.ne.jp/perlcodesample/20080923/1222149712&rct=j&q=perl int&ei=vdjRTfq6JYjhiAKMqLH0Cg&usg=AFQjCNHN50FphgfKiSsOi006ADj7oj_RrA&sig2=fwbhQ6Nuv8Iz4NmT7AdX3w
- 3 http://b.hatena.ne.jp/entry/d.hatena.ne.jp/perlcodesample/20091226/1264257759
- 3 http://s.luna.tv/search.aspx?client=lunascape&s=0&gl=jp&hl=ja&q=perl 標準出力 ファイル