dblinea package
Submodules
dblinea.db_postgresql module
dblinea.dblinea module
- class dblinea.dblinea.DBBase(database='gavo', dbhost=None, dbname=None, dbuser=None, dbpass=None, dbport=None, dbengine='postgresql_psycopg2', debug: bool = False)[source]
Bases:
object- available_databases()[source]
Lista os bancos de dados disponiveis
- Returns
Lista de databases pre configurados na bibloteca. cada elemento da lista representa um db.
exemplo: [{‘config_name’: ‘gavo’, ‘dbname’: ‘<database_name>’, ‘host’: ‘<database_host.linea.gov.br>’, ‘engine’: ‘postgresql_psycopg2’}]
- describe_table(tablename, schema=None)[source]
Retorna uma lista de dicionarios com nome e tipo das colunas de uma tabela. exemplo: [{“name”: “”, “type”: “”}]
- Parameters
tablename (str) – Nome da tabela sem schema.
schema (str, optional) – Nome do schema. Defaults to None.
- Returns
Lista de colunas com seu tipo
- Return type
list
- execute(stm)[source]
Executa a query usando con.execute, recomendada para query de Delete, Update ou outras querys que não precisem de iteração com o resultado.
- Parameters
stm (statement) – Query a ser executada, pode ser escrita em SqlAlchemy
TextClause. (ou string no caso de string ela sera convertida para) –
- Returns
[description]
- Return type
CursorResult
- fetch_scalar(stm)[source]
Retorna o valor da primeira coluna na primeira linha do resultado da query util para querys de count por exemplo, ou quando se quer apenas um unico valor.
- Parameters
stm (statement) – Query a ser executada, pode ser escrita em SqlAlchemy
TextClause. (ou string no caso de string ela sera convertida para) –
- Returns
Valor da primeira coluna na primeira linha.
- Return type
any
- fetchall(stm)[source]
Executa a query e retorna todos os resultados em uma lista.
- Parameters
stm (statement) – Query a ser executada, pode ser escrita em SqlAlchemy
TextClause. (ou string no caso de string ela sera convertida para) –
- Returns
Lista com os resultado no formato original do SqlAlchemy LegacyRow.
- Return type
list
- fetchall_df(stm)[source]
Executa a query usando Pandas e retorna um Dataframe com o resultado.
- Parameters
stm (statement) – Query a ser executada, pode ser escrita em SqlAlchemy
TextClause. (ou string no caso de string ela sera convertida para) –
- Returns
Dataframe com o resultado da query.
- Return type
Pandas.Dataframe
- fetchall_dict(stm)[source]
- Executa a query e retorna todos os resultados em uma lista de Dicts.
exemplo:[{‘col’: ‘value’, …, ‘colN’:’valueN’}]
- Parameters
stm (statement) – Query a ser executada, pode ser escrita em SqlAlchemy
TextClause. (ou string no caso de string ela sera convertida para) –
- Returns
Resultado da query em uma lista de dicionários.
- Return type
list
- fetchone(stm)[source]
Executa a query retorna a primeira linha do resultado
- Parameters
stm (statement) – Query a ser executada, pode ser escrita em SqlAlchemy
TextClause. (ou string no caso de string ela sera convertida para) –
- Returns
Primeira linha do resultado da query.
- Return type
sqlalchemy.engine.row.LegacyRow
- fetchone_dict(stm)[source]
Executa a query retorna a primeira linha do resultado convertida em Dict
- Parameters
stm (statement) – Query a ser executada, pode ser escrita em SqlAlchemy
TextClause. (ou string no caso de string ela sera convertida para) –
- Returns
Primeira linha do resultado da query.
- Return type
dict
- get_engine()[source]
Retorna uma sqlalchemy.Engine
Cria ou retorna uma engine para o database solicitado na Instancia da DBBase. Mais informações sobre Engine em https://docs.sqlalchemy.org/en/14/core/connections.html#sqlalchemy.engine.Engine
- Return type
sqlalchemy.engine.Engine
- get_table_columns(tablename, schema=None)[source]
Retorna os nomes das colunas de uma tabela.
- Parameters
tablename (string) – Nome da tabela sem schema.
schema (string) – Nome do schema ou None quando nao houver.
- Returns
Colunas disponiveis na tabela
- Return type
columns (list)
- raw_sql_to_stm(stm)[source]
Converte uma string raw sql para SqlAlchemy TextClause
- Parameters
stm (str) – Query SQL em string. ex: Select * from tablename…
- Returns
TextClause representando uma string SQL.
- Return type
TextClause
- sa_table(tablename: str, schema: Optional[str] = None) sqlalchemy.schema.Table[source]
Retona uma instancia de sqlalchemy.schema.Table que representa uma tabela no database.
https://docs.sqlalchemy.org/en/14/core/metadata.html#sqlalchemy.schema.Table
- Parameters
tablename (str) – Nome da tabela sem o schema.
schema (str, optional) – Schema onde a tabela se encontra. Defaults to None.
- Returns
instancia de Table representando a tabela solicitada.
- Return type
sqlalchemy.schema.Table