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上のレコードも削除 |
|