経験ゼロからプロのSEを目指しているさまを書きなぐり★
仕事でBerkeleyDBっちゅー組み込み型データベースを使うことになって
調べてみました。
各リンクは別窓で開きます。
それらのまとめ。。。
まずはインストールから。
成功したらデータベースを作成してみる。
しかもPerlで。
→サンプルプログラム
これから基本的にデータベース名はtest.dbで統一しています。
次に中身を参照してみる。
→サンプルプログラム
参照結果は
キー,データ
とういう形式になります。
参照できたら編集をしてみる。
→サンプルプログラム
ちなみに既存のデータに新規データ追加する場合も
このプログラムで出来ます。
すごいね~(笑)
最後はやっぱり削除。
→サンプルプログラム
データベース内が空になっても
test.db自体は削除されません。
なんとなくファイルごと消さないほうがいいのかなって。。。
全削除する場合はデータベースごと消しちゃってください。
最後に。。
全面的に
http://takusato.net/article/bdb_oboegaki.html
こちらのサイトさんを参考にさせてもらっています。
ありがとうございました!!
次回更新は「C言語からデータベースをいじる」の巻です。
はー疲れました。。。
調べてみました。
各リンクは別窓で開きます。
それらのまとめ。。。
まずはインストールから。
成功したらデータベースを作成してみる。
しかもPerlで。
→サンプルプログラム
これから基本的にデータベース名はtest.dbで統一しています。
次に中身を参照してみる。
→サンプルプログラム
参照結果は
キー,データ
とういう形式になります。
参照できたら編集をしてみる。
→サンプルプログラム
ちなみに既存のデータに新規データ追加する場合も
このプログラムで出来ます。
すごいね~(笑)
最後はやっぱり削除。
→サンプルプログラム
データベース内が空になっても
test.db自体は削除されません。
なんとなくファイルごと消さないほうがいいのかなって。。。
全削除する場合はデータベースごと消しちゃってください。
最後に。。
全面的に
http://takusato.net/article/bdb_oboegaki.html
こちらのサイトさんを参考にさせてもらっています。
ありがとうございました!!
次回更新は「C言語からデータベースをいじる」の巻です。
はー疲れました。。。
PR
Perlでデータベース削除
★サンプル
delete_database.pl
#!/usr/bin/perl
use strict;
use BerkeleyDB;
my $database = "test.db";
my (%db_hash, $key, $value);
if ($ARGV[0] eq "") {
tie %db_hash, 'BerkeleyDB::Btree',
-Filename => $database,
-Flags => DB_TRUNCATE
or die "Cannot open $database: $!\n";
} else {
tie %db_hash, 'BerkeleyDB::Btree',
-Filename => $database,
-Flags => DB_CREATE
or die "Cannot open $database: $!\n";
delete $db_hash{$ARGV[0]};
}
untie %db_hash;
http://takusato.net/article/bdb_oboegaki.html
こちらを参考にさせていただきました。
実行するには削除したいデータのキーを第一引数に指定する。
$perl delete_database.pl 3
★サンプル
delete_database.pl
#!/usr/bin/perl
use strict;
use BerkeleyDB;
my $database = "test.db";
my (%db_hash, $key, $value);
if ($ARGV[0] eq "") {
tie %db_hash, 'BerkeleyDB::Btree',
-Filename => $database,
-Flags => DB_TRUNCATE
or die "Cannot open $database: $!\n";
} else {
tie %db_hash, 'BerkeleyDB::Btree',
-Filename => $database,
-Flags => DB_CREATE
or die "Cannot open $database: $!\n";
delete $db_hash{$ARGV[0]};
}
untie %db_hash;
http://takusato.net/article/bdb_oboegaki.html
こちらを参考にさせていただきました。
実行するには削除したいデータのキーを第一引数に指定する。
$perl delete_database.pl 3
Perlでデータベース編集
★サンプル
modify_database.pl
#!/usr/bin/perl
use strict;
use BerkeleyDB;
my $database = "test.db";
my (%db_hash, $key, $value);
tie %db_hash, 'BerkeleyDB::Btree',
-Filename => $database,
-Flags => DB_CREATE
or die "Cannot open $database: $!\n";
my $key = $ARGV[0];
$db_hash{$key} = $ARGV[1];
untie %db_hash;
http://takusato.net/article/bdb_oboegaki.html
こちらを参考にさせていただきました。
実行するには第一引数に変更するデータのキー、
第二引数に変更するデータを指定して実行。
$ perl modify_database.pl 2 testtest
★サンプル
modify_database.pl
#!/usr/bin/perl
use strict;
use BerkeleyDB;
my $database = "test.db";
my (%db_hash, $key, $value);
tie %db_hash, 'BerkeleyDB::Btree',
-Filename => $database,
-Flags => DB_CREATE
or die "Cannot open $database: $!\n";
my $key = $ARGV[0];
$db_hash{$key} = $ARGV[1];
untie %db_hash;
http://takusato.net/article/bdb_oboegaki.html
こちらを参考にさせていただきました。
実行するには第一引数に変更するデータのキー、
第二引数に変更するデータを指定して実行。
$ perl modify_database.pl 2 testtest
Perlでデータベース参照
★サンプル
view_database.pl
#!/usr/bin/perl
use strict;
use BerkeleyDB;
my $database = "test.db";
my (%db_hash, $key, $value);
tie %db_hash, 'BerkeleyDB::Btree',
-Filename => $database,
-Flags => DB_RDONLY
or die "Cannot open $database: $!\n";
while (($key, $value) = each %db_hash) {
print "$key,$value\n";
}
untie %db_hash;
ほぼ
http://takusato.net/article/bdb_oboegaki.html
こちらからいただきました。
実行はふつーに。
$ perl view_database.pl
★サンプル
view_database.pl
#!/usr/bin/perl
use strict;
use BerkeleyDB;
my $database = "test.db";
my (%db_hash, $key, $value);
tie %db_hash, 'BerkeleyDB::Btree',
-Filename => $database,
-Flags => DB_RDONLY
or die "Cannot open $database: $!\n";
while (($key, $value) = each %db_hash) {
print "$key,$value\n";
}
untie %db_hash;
ほぼ
http://takusato.net/article/bdb_oboegaki.html
こちらからいただきました。
実行はふつーに。
$ perl view_database.pl
Perlによるデータベース作成。
★サンプル
create_database.pl
#!/usr/bin/perl
use strict;
use BerkeleyDB;
my $database = "test.db";
my %db_hash;
tie %db_hash, 'BerkeleyDB::Btree',
-Filename => $database,
-Flags => DB_CREATE | DB_TRUNCATE,
-Mode => 0664
or die "Cannot open $database: $!\n";
while (<>) {
chomp;
my ($key, $value) = split(/\,/);
$db_hash{$key} = $value;
}
untie %db_hash;
ほぼ
http://takusato.net/article/bdb_oboegaki.html
こちらからいただきました。
実行するにはまずデータファイルを作成します。
ファイル名は任意
#Sample#
test.data
1,aaaaa
2,bbbbb
3,ccccc
4,ddddd
こんな感じのを作る。
キーとデータの間は「,」カンマで区切る。
実行↓
$ perl create_database.pl < test.data
★サンプル
create_database.pl
#!/usr/bin/perl
use strict;
use BerkeleyDB;
my $database = "test.db";
my %db_hash;
tie %db_hash, 'BerkeleyDB::Btree',
-Filename => $database,
-Flags => DB_CREATE | DB_TRUNCATE,
-Mode => 0664
or die "Cannot open $database: $!\n";
while (<>) {
chomp;
my ($key, $value) = split(/\,/);
$db_hash{$key} = $value;
}
untie %db_hash;
ほぼ
http://takusato.net/article/bdb_oboegaki.html
こちらからいただきました。
実行するにはまずデータファイルを作成します。
ファイル名は任意
#Sample#
test.data
1,aaaaa
2,bbbbb
3,ccccc
4,ddddd
こんな感じのを作る。
キーとデータの間は「,」カンマで区切る。
実行↓
$ perl create_database.pl < test.data