3. クラスの詳細説明

DAL (データベース抽象化レイヤ)をクラスの観点から詳細に説明します。ここでは 主要なクラス で紹介したクラス別に記述します。

DALクラス — データベースに関するクラス

コンストラクタ

データベース接続

define_table()

テーブル定義

commit()rollback()

トランザクション制御

executesql()

直接SQL文を実行

export_to_csv_file()

全テーブルのCSVエクスポート

import_from_csv_file()

複数テーブルのCSVインポート

tables()

テーブル一覧

smart_query()

スマートクエリ

Fieldクラス — フィールドに関するクラス

コンストラクタ

フィールド定義

count()

フィールドのカウント

formatter()

フィールドのバリデータ表示フォーマット値

validate()

フィールドのバリデータ

Tableクラス — テーブルに関するクラス

insert()

レコードの追加

bulk_insert()

レコードをまとめて追加

update_or_insert()

レコード更新or追加

validate_and_insert()

バリデータとレコード追加

truncate()

全レコードの削除

drop()

テーブルの削除

import_from_csv_file()

CSVファイルからのインポート

with_alias()

テーブル別名設定

fields()

テーブルのフィールド一覧

_insert()

SQL文生成

_drop()

SQL文生成

_truncate()

SQL文生成

_enable_record_versioning()

レコードバージョン管理

— ショットカット機能(リスト型エミュレーション) —

myrecord = db.mytable[id]レコードの取得
db.mytable[0] = dict(myfield='value')レコードの追加
db.mytable[id] =dict(myfield='value')レコードの更新
del db.mytable[id]レコードの削除

— ショットカット機能(関数エミュレーション) —

row = db.mytable(id)レコードの取得(ID指定)
row = db.mytable(db.mytable.id==id)レコードの取得(Query指定)
row = db.mytable(myfield='value')レコードの取得(パラメータ指定)
row = db.mytable(id,myfield='value')レコードの取得(id,辞書型)

Queryクラス — 条件式に関するクラス

case()

SQLのCASE式による置換

as_dict()

クエリ式を辞書値に変換

as_json()

クエリ式をjsonに変換

as_xml()

クエリ式をxmlに変換

Expressionクラス — 式に関するクラス

— 条件式 —

like()

あいまい検索

startswith()

前方一致検索

endswith()

後方一致検索

contains()

部分一致検索

belongs()

IN演算子

regexp()

正規表現による検索

— データ操作 —

sum()

合計値計算

avg()

平均値計算

max()

最大値の取得

min()

最小値の取得

len()

長さの取得

abs()

絶対値取得

coalesce()

NULL値の変換

coalesce_zero()

NULL値のゼロ変換

upper()

大文字変換

lower()

小文字変換

year()

日付時間の要素抜き出し

month()

day()

hour()

minutes()

seconds()

Setクラス — レコードセット定義に関するクラス

select()

レコードセット取得

count()

レコード件数取得

isempty()

レコード存在チェック

update()

レコードの更新

update_naive()

レコードの更新
(コールバック関数の無視)

validate_and_update()

バリデータとレコード更新

delete()

レコードの削除

nested_select()

ネストしたSELECT

_select()

SQL文生成

_count()

SQL文生成

_update()

SQL文生成

_delete()

SQL文生成

Rowsクラス — レコードセットに関するクラス

first()

最初のレコードを取得

last()

最後のレコードを取得

as_dict()

辞書型に変換

as_list()

リスト型に変換

as_trees()

木構造のデータをリスト型に変換

find()

レコードセット内検索

exclude()

レコードセットの切り抜き

sort()

レコードセットのソート

setvirtualfields()

仮想フィールドの設定

export_to_csv_file()

CSVファイルへのエクスポート

xml()

xml/htmlに変換

json()

jsonに変換

Rowクラス — レコードに関するクラス

as_dict()

辞書型に変換

— 組み込み関数 —

update_record()

Rowと共にDB上のレコードも更新

delete_record()

Rowと共にDB上のレコードも削除