luminadb.table moduleο
Table
- class luminadb.table.Table(parent: Database, table: str, columns: Iterable[Column] | None = None)[source]ο
Bases:
objectTable. Make sure you remember how the table goes.
- add_column(column: Column | BuilderColumn)[source]ο
Add column to table
- property auto_commitο
Auto commit state of this instance
- delete(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, limit: int = 0, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None)[source]ο
Delete row or rows
- Parameters:
where (Condition, optional) β Condition to determine deletion See Signature class about conditional stuff. Defaults to None.
limit (int, optional) β Limit deletion by integer. Defaults to 0.
order (Optional[Orders], optional) β Order of deletion. Defaults to None.
- Returns:
Rows affected
- Return type:
int
- delete_one(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None)[source]ο
Delete a row
- Parameters:
where (Condition, optional) β Conditional to determine deletion.
None. (Defaults to)
order (Optional[Orders], optional) β Order of deletion. Defaults to None.
- property deletedο
Is table deleted
- property force_dirtyο
Force dirty state, whether .selecting() on dirty/uncommitted data is allowed or not
- force_nodelete()[source]ο
Force βundeleteβ table. Used if table was mistakenly assigned as deleted.
- property in_transactionο
Returns True if the table is in an active transaction.
- insert(data: dict[str, Any])[source]ο
Insert data to current table
- Parameters:
data (Data) β Data to insert. Make sure itβs compatible with the table.
- Returns:
Last rowid
- Return type:
int
- insert_multiple(datas: list[dict[str, Any]])[source]ο
Insert multiple values
- Parameters:
datas (Iterable[Data]) β Data to be inserted.
- property nameο
Table name
- paginate_select(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, what: tuple[str, ...] | Literal['*'] = '*', page: int = 0, length: int = 10, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None, flatten: Literal[False] = False) Generator[list[Row[Any]], None, None][source]ο
- paginate_select(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, what: str | tuple[str] = '_COLUMN', page: int = 0, length: int = 10, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None, flatten: Literal[False] = False) Generator[list[Any], None, None]
- paginate_select(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, what: tuple[str, ...] | Literal['*'] = '*', page: int = 0, length: int = 10, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None, flatten: Literal[True] = True) Generator[Row[list[Any]], None, None]
Paginate select
- Parameters:
where (Condition, optional) β Confitions to use. Defaults to None.
what (OnlyColumn, optional) β Select what you want. Default to None.
page (int) β Which page number be returned first
length (int, optional) β Pagination length. Defaults to 10.
order (Optional[Orders], optional) β Order. Defaults to None.
flatten (bool) β Flatten returned data into dict of lists. Defaults to False.
- Yields:
Generator[Queries, None, None] β Step-by-step paginated result.
- select(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, what: tuple[str, ...] | Literal['*'] = '*', limit: int = 0, offset: int = 0, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None, flatten: Literal[False] = False) list[Row[Any]][source]ο
- select(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, what: tuple[str, ...] | Literal['*'] = '*', limit: int = 0, offset: int = 0, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None, flatten: Literal[True] = True) Row[list[Any]]
- select(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, what: ParsedFn = _null, limit: int = 0, offset: int = 0, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None, flatten: Literal[False] = False) Any
- select(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, what: str | tuple[str] = '_COLUMN', limit: int = 0, offset: int = 0, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None, flatten: Literal[False] = False) list[Any]
Select data in current table. Bare .select() returns all data.
- Parameters:
where (Condition, optional) β Conditions to used. Defaults to None.
what β (OnlyColumn, ParsedFn, optional): Select what you want. Default to None.
limit (int, optional) β Limit of select. Defaults to 0.
offset (int, optional) β Offset. Defaults to 0
order (Optional[Orders], optional) β Selection order. Defaults to None.
flatten (bool) β Flatten returned data into dict of lists. Defaults to False.
- Returns:
Selected data
- Return type:
Queries
- select_one(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, what: ParsedFn = _null, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None) Any[source]ο
- select_one(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, what: tuple[str, ...] | Literal['*'] = '*', order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None) Row[Any]
- select_one(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, what: str | tuple[str] = '_COLUMN', order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None) Any
Select one data
- Parameters:
where (Condition, optional) β Condition to use. Defaults to None.
what β (OnlyColumn, optional): Select what you want. Default to None.
order (Optional[Orders], optional) β Order of selection. Defaults to None.
- Returns:
Selected data
- Return type:
Any
- subquery(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None, columns: tuple[str, ...] | Literal['*'] | str, limit: int = 0) SubQuery[source]ο
Push subquery to current .select() of other table
- update(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, data: dict[str, Any] | None = None, limit: int = 0, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None)[source]ο
Update rows of current table
- Parameters:
data (Data) β New data to update
where (Condition, optional) β Condition dictionary. See Signature about how condition works. Defaults to None.
limit (int, optional) β Limit updates. Defaults to 0.
order (Optional[Orders], optional) β Order of change. Defaults to None.
- Returns:
Rows affected
- Return type:
int
- update_one(where: dict[str, Signature | ParsedFn | SubQuery | Any] | list[tuple[str, Signature | SubQuery | ParsedFn]] | None = None, data: dict[str, Any] | None = None, order: tuple[tuple[str, Literal['asc', 'desc']], ...] | tuple[str, Literal['asc', 'desc']] | None = None) int[source]ο
Update 1 data only