[Perl] => [DBI]
DBIx::Class::Schema::Loaderを使用すればスキーマを作成する手間が省ける。
#!/usr/bin/perl
package My::Schema;
use base qw/DBIx::Class::Schema::Loader/;
# constraintで正規表現にマッチするテーブルのみロード
# excludeは正規表現にマッチするテーブルを除外
# debugオプションを指定することで自動解析したスキーマをダンプ
# その他loader_optionsに指定できるオプションはDBIx::Class::Schema::Loader::Baseを確認のこと
__PACKAGE__->loader_options( constraint => qr/point/, debug => 1 );
package Main;
use warnings;
use strict;
my $dsn = 'DBI:Pg:dbname=dbname;host=localhost';
my $user = 'username';
my $password = 'password';
my $attrs = { AutoCommit => 1 };
my $schema = My::Schema->connect($dsn, $user, $password, $attrs);
# primary_keyでの検索にはfind()を使用
my $result_set = $schema->resultset('Point')->search(
{
timestamp => { '<=' => '2008-01-01' }
},
{
order_by => 'timestamp'
}
);
while (my $record = $result_set->next ) {
print $record->id . "\t" . $record->timestamp . "\n";
}
# 検索してそのまま削除
$schema->resultset('Point')->search( { id => { '<=' => '514' } })->delete;
__END__
関連記事
DBIx::Class::Schema::Loader
SQL::Abstract
DBD::Pgのインストール
doメソッド
カラム名の一覧を取得
該当するレコードの数を取得するには
fetchall_arrayref
fetchrow_hashref
ラージオブジェクトのインポート
ラージオブジェクトの削除
ラージオブジェクトの書き込み
ラージオブジェクトのデータを取得
DBI - database handle
SQL::Abstract
DBD::Pgのインストール
doメソッド
カラム名の一覧を取得
該当するレコードの数を取得するには
fetchall_arrayref
fetchrow_hashref
ラージオブジェクトのインポート
ラージオブジェクトの削除
ラージオブジェクトの書き込み
ラージオブジェクトのデータを取得
DBI - database handle
広告