selecting#
This module provide utility functions for select operation.
- sqlalchemy_mate.crud.selecting.count_row(engine: Engine, table: Table) int[source]#
Return number of rows in a table.
Example:
import sqlalchemy as sa import sqlalchemy_mate as sam t_users = sa.Table(...) engine = sa.create_engine(...) sam.selecting.count_row(engine, t_user)
中文文档
返回一个表中的行数。
- sqlalchemy_mate.crud.selecting.by_pk(engine: Engine, table: Table, id_) Optional[Row][source]#
Return single row or None by primary key values.
- Parameters:
id – single value if table has only one primary key, tuple / list of values if table has multiple primary keys, positioning is sensitive.
Example:
import sqlalchemy as sa import sqlalchemy_mate as sam t_users = sa.Table "users", metadata, Column("id", sa.Integer, primary_key=True), ... ) engine = sa.create_engine(...) row = sam.selecting.by_pk(engine, t_user, 1) # one row or None print(row._fields) # keys print(tuple(row)) # values print(row._asdict()) # dict view
- sqlalchemy_mate.crud.selecting.select_all(engine: Engine, table: Table) Result[source]#
Select all rows from a table.
Example:
for row in sam.selecting.select_all(engine, t_users): ...
- sqlalchemy_mate.crud.selecting.select_single_column(engine: Engine, column: Column) list[source]#
Select data from single column.
Example:
id_list = sam.selecting.select_all(engine, t_users.c.id)
- sqlalchemy_mate.crud.selecting.select_many_column(engine: Engine, columns: List[Column]) List[tuple][source]#
Select data from multiple columns.
Example:
dataframe = sam.selecting.select_all(engine, [t_users.c.id, t_users.c.name])
- sqlalchemy_mate.crud.selecting.select_single_distinct(engine: Engine, column: Column) list[source]#
Select distinct data from single column.
Example:
unique_name_list = sam.selecting.select_all(engine, t_users.c.name)
- sqlalchemy_mate.crud.selecting.select_many_distinct(engine: Engine, columns: List[Column]) List[tuple][source]#
Select distinct data from multiple columns.
Example:
dataframe = sam.selecting.select_many_distinct(engine, [t_users.c.id, t_users.c.name])
- sqlalchemy_mate.crud.selecting.select_random(engine: Engine, table: Optional[Table] = None, columns: Optional[List[Column]] = None, limit: Optional[int] = None, perc: Optional[int] = None) Result[source]#
Randomly select some rows from table.
- Parameters:
perc – int from 1 ~ 99. (means 1% ~ 99%)
Example:
# randomly select 100 users for row in sam.selecting.select_random(engine, t_users, limit=100): ... # randomly select 5% rows from users table for row in sam.selecting.select_random(engine, t_users, perc=5): ...