| データベースの初期化関数です。全てのデータベース関数を使用する場合、この関数を呼び出す必要があります。
$path
データファイルの相対パス(実行ファイルから)を設定します。デフォルトは、dataが使用されます。
|
| 検索条件に従ってテーブルからデータを抽出します。
引数 内容
$table テーブル名を指定します。
$ext 抽出データ用の拡張パラメタです。多数の組み合わせを行うことができます。
→$extを参照
@data 抽出したデータを配列で返します。
Sample Program
## 4番目の項目が"101"のレコードを新しい順で最大200件table01から読み込みます。
@dat=$sdb->select( "table01", "4 == 101", "0 sort up","upper max 200");
## "ABCD"を含むデータを古い順で最大10件table02から読み込みます。
@dat=$sdb->select( "table02", "all in ABCD","0 sort down","upper max 10");
## 4番目の項目が"101"、"TEST"を含むデータを最大200件
## table01から読み込みます。
@dat=$sdb->select( "table01", "4 == 101", "all in TEST", "upper max 200");
## table03のテーブルを古い順に読み込みます。
@dat=$sdb->select( "table03", "0 sort down");
## table04の新着10件を読み込みます
@dat=$sdb->select( "table04", "0 sort up", "upper max 10");
|
| selectと同じ処理を行いますが、同時にテーブルのロックをします。
引数 内容
$table テーブル名を指定します。
$ext 抽出データ用の拡張パラメタです。多数の組み合わせを行うことができます。
→$extを参照
@data 抽出したデータを配列で返します。
Sample Program
## 4番目の項目が"101"のレコードを新しい順でtable01から読み込みます。
$dat=$sdb->selectForUpdate( "table01", "4 == 101");
|
| # テーブルに対してデータを追加します。
引数 内容
$table テーブル名を指定します。
@data 追加するデータを指定します。データは区切り文字("<>")で区切られていることを条件とします。
Sample Program
## table01にデータを追加します。
$sdb->insert("table01","01<>名前<>EMAIL<>コメント<>");
## 複数のデータを同時にtable01に追加します。
@dat=("aaa<>bbb<>ccc<>","ddd<>eee<>fff<>");
$sdb->insert("table01",@dat);
|
| テーブルのデータを更新します。指定のデータ存在しない場合でも処理はエラーを返しません。一致データが複数存在するときは、先頭データを更新し、以降のデータを削除します。
引数 内容
$table テーブル名を指定します。
$data TABLEに追加するデータを指定します。データは区切り文字("<>")で区切られていることを条件とします。
$ext 抽出データ用の拡張パラメタです。多数の組み合わせを行うことができます。
→$extを参照
Sample Program
## table01にデータを追加します。
$sdb->insert("table01","01<>名前<>EMAIL<>コメント<>");
## insertしたデータのコメントを書き換えます。
$sdb->update("table01", "01<>名前<>EMAIL<>修正後のコメント<>", "1 eq 01" );
|
| $extで抽出されるデータをテーブルから削除します。
引数 内容
$table テーブル名を指定します。
$ext 削除データ用の拡張パラメタです。多数の組み合わせを行うことができます。
→$extを参照
@data 削除したデータを配列で返します。
Sample Program
## 項目番号1が「名前」のデータを削除します
@dat = $sdb->delete("table01","1 eq 名前");
## 削除したデータを表示します
foreach(@dat){
print $_;
}
|
| 変更データを反映します
引数 内容
$option 「nocompact」をしていするとちょっと処理が早くなります。しかし、定期的に行わないとだんだん遅くなってきます。データ追加のみの場合は「nocompact」のほうが良いと思います。
Sample Program
$sdb->insert("table","aaa<>bbb<>ccc<>");
$sdb->commit("nocompact");
|
| 変更データを開放します。
引数 内容
$sdb->insert("table","aaa<>bbb<>ccc<>");
$sdb->rollback();
## データは変更されていません
|
| $srctableから、$extで抽出したデータを$dsttableに移動します
引数 内容
$srctable 入力テーブル名を指定します。
$dsttable 出力テーブル名を指定します。
$ext 移動データ用の拡張パラメタです。多数の組み合わせを行うことができます。
→$extを参照
Sample Program
## 新しいデータ50件以降を過去ログに移動します
$sdb->movetable("table","old","0 sort up","under max 50");
|
| $msgをログファイルに出力します。$d_DEBUGにTRUEを指定しなければ出力されません
引数 内容
$msg メッセージ
Sample Program
## エラーを出力します。
$sdb->snap("タイムアウトが発生しました",__FILE__,__LINE__);
|
| プロダクト名、バージョンを返します。
Sample Program
$product = $sdb->GetProduct;
print "$product";
|
| 拡張パラメタです。
"$no $cal $data"の形で呼び出されます。入力はスペースで区切るので、不要なスペースは入れないで下さい
引数 内容
$no 項目番号
$data 値
$cal(呼び出し可能式)
$no eq $data 項目番号$noの値と$dataが等しい
$no ieq $data 項目番号$noの値と$dataが等しい(大文字小文字を区別します)
$no ne $data 項目番号$noの値と$dataが等しくない
$no in $data 項目番号$noの値に$dataが含まれている時
$no iin $data 項目番号$noの値に$dataが含まれている時(大文字小文字を区別します)
$no ni $data 項目番号$noの値に$dataが含まれていない時
$no gt $data 項目番号$noの値に$dataより、大きいとき
$no ge $data 項目番号$noの値に$dataと等しい又は、大きいとき
$no lt $data 項目番号$noの値に$dataより、小さいとき
$no le $data 項目番号$noの値に$dataと等しい又は、小さいとき
all in $data 全てのデータに$dataが含まれている時
all iin $data 全てのデータに$dataが含まれている時(大文字小文字を区別します)
all ni $data 全てのデータに$dataが含まれていない時
$no == $data 項目番号$noの数値が$dataと等しいとき
$no != $data 項目番号$noの数値が$dataと等しくないとき
$no >= $data 項目番号$noの数値が$dataと等しい又は、大きいとき
$no > $data 項目番号$noの数値が$dataより大きいとき
$no <= $data 項目番号$noの数値が$dataと等しい又は、小さいとき
$no < $data 項目番号$noの数値が$dataより小さいとき
$no sort up 項目番号$noの値を昇順でソートします
$no sort down 項目番号$noの値を降順でソートします
$no sort random 項目番号$noの値をランダムにソートします
upper max $data 取り出すデータの件数を先頭から、$dataまでを取り出します
under max $data 取り出すデータの件数を先頭から、$data以降を件取り出します
|
|
|