This release is a pre-release and may not be stable for production use.
MANAGE-SQL DOCUMENTATION
A classe manage-sql foi feita de modo a facilitar a gestão e interação com bancos de dados sqlite.
Funcionalidades
- Criação e gestão de bancos de dados sqlite, mysql e postegres.
- Definição de estruturas de tabelas usando tipos de colunas customizadas.
- Maior performance nas operações CRUD.
- Executar operações sql brutas sem depender da classe
- Método próprio para encriptar valores sensíveis como senhas.
Instalação
Primeiro garanta que tem o python instalando. Caso não tenha o python, clique aqui
Segundo, instale a biblioteca manage-sql usando o comando abaixo na linha de comandos
pip install manage.sql
Métodos
Para fazer a gestão dos bancos de dados, ao importar pode fazer o import dependendo do tipo de banco que pretende gerir.
from manage_sql import SQLITE
from manage_sql import MYSQL
from manage_sql import POSTEGRESQL
Conectando com o banco
SQLITE
from manage_sql import SQLITE
db = SQLITE(
database = 'my_database',
path = 'path_database'
)
Parametros
database: str (opcional) - nome do banco de dados sqlitepath: str (opcional) - local onde pretender colocar o banco de dados. Caso não defina, o caminho padrão será o /database
MYSQL
from manage_sql import MYSQL
db = MYSQL(
host = 'localhost',
username = 'mysql_user',
password = 'user_password',
database = 'database_name',
port = 3306
)
Parametros
host: str - local onde está a rodar o servidor mysqlusername: str - usuario do banco de dadospassword: str - palavra-passe do usuario mysqldatabase: str (opcional) - nome do banco de dados mysqlport: int (opcional) - a porta padrão do servidor mysql é o 3306
POSTGRESQL
- Conectar usando o postegres_url (dsn)
from manage_sql import POSTEGRESQL
db = POSTEGRESQL(
postegres_url = 'postegres_url',
)
- Conectar usando os parametros normais
from manage_sql import POSTEGRESQL
db = POSTEGRESQL(
host = 'localhost',
username = 'postgres_user',
password = 'user_password',
database = 'database_name',
port = 5432
)
Parametros
portegres_url: str - caminho para o servidor onde está alocado o banco de dados postegres. Mais detalhes consulte clique aquihost: str - local onde está a rodar o servidor postgresusername: str - usuario do banco de dadospassword: str - palavra-passe do usuario postgresdatabase: str (opcional) - nome do banco de dados postgresport: int (opcional) - a porta padrão do servidor postgres é 5432
Os métodos abaixo aplicam-se para os três bancos de dados (mysql, sqlite, postegresql). A título de exemplo a documentação tomará como base, o banco de dados MYSQL
Criar Tabela
from manage_sql import MYSQL
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
db.create_table(
tablename='usuarios',
columns=[
db.Column(
name='nome',
column_type=db.Column_types.Char(60).varchar
),
db.Column(
name='username',
column_type=db.Column_types.Char(60).varchar
)
]
)
Parametros
tablename: str - nome da tabela que pretende criar no banco de dados especificado na conexãocolumns: list[Column] - lista de colunas que pretende criar dentro da tabela.
Nota 1: A documentação devida do Column será feita em breve.
Nota 2: Tenha atenção aos tipos do Column_types, dado que cada tipo de banco de dados possui seus respectivos tipos.
Inserir Dados
from manage_sql import MYSQL
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
db.insert_data(
tablename='usuarios',
insert_query=[
db.ColumnData(
column='nome',
value='Web Tech Moz'
),
db.ColumnData(
column='nome',
value='webtechmoz'
)
]
)
Parametros
tablename: str - nome da tabela que pretende inserir os dadosinsert_query: list[ColumnData] - lista de ColumnData abaixo descritosColumnData: ColumnDate - instância para inserir os dados nas colunas da tabela. Recebecolumnque corresponde ao nome da coluna evaluecorrespondente ao valor a inserir
Apagar Dados
from manage_sql import MYSQL
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
db.detele_data(
tablename='usuarios',
condition=db.delete_by(
column='id'
).EQUAL(
value=1
)
)
Parametros
tablename: str - nome da tabela que pretende inserir os dadoscondition: Filter (opcional) - método de filtragem que permite selecionar o(s) dado(s) que pretende apagar.
Parametros de Filtragem
O delete_by deve receber uma coluna base para fazer a filtragem dos dados. Este método possui várioss metodos de filtragem abaixo indicados:
EQUAL: recebe um valor em que a coluna especificada deverá ser igual=NOT_EQUAL: recebe um valor em que a coluna especificada deverá ser igual!=GATHER_THAN: recebe um valor minimo para comparação>GATHER_OR_EQUAL: recebe um valor que deverá ser o mínimo incluido para comparação>=LESS_THAN: recebe um valor máximo para comparação<LESS_OR_EQUAL: recebe um valor máximo incluido<=CONTAIN: recebe uma parte de texto para validação de stringsLIKENOT_CONTAIN: recebe uma parte de texto para validação de stringsNOT LIKE
Pode tambem fazer filtragem em multiplas colunas usando as condicionais abaixo:
OReAND
from manage_sql import MYSQL
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
# Filtrando usando o OR
db.detele_data(
tablename='usuarios',
condition=db.delete_by(
column='id'
).EQUAL(
value=1
).OR.filterby(
column='username'
).CONTAIN(
value='moz'
)
)
# Filtrando usando o AND
db.detele_data(
tablename='usuarios',
condition=db.delete_by(
column='id'
).EQUAL(
value=1
).AND.filterby(
column='username'
).CONTAIN(
value='moz'
)
)
Ver os Dados
from manage_sql import MYSQL
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
dados = db.select_data(
tablename='usuarios',
columns=['id', 'nome', 'username'],
condition=db.filter_by(
column='id'
).GATHER_OR_EQUAL(
value=1
)
)
print(dados)
Parametros
tablename: str - nome da tabelacolumns: list[str] (opcional) - lista de nome das colunas que pretende retornar. Caso não especifique, irá retornar todas colunas da tabelacondition: Filter - Para mais detalhes veja parametros de filtragem
Actualizar Dados
from manage_sql import MYSQL
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
db.update_data(
tablename='usuarios',
edit_query=db.ColumnData(
column='nome',
value='Alex Zunguze'
),
condition=db.filter_by(
column='id'
).EQUAL(
value=1
)
)
Parametros
tablename: str - nome da tabela que pretende inserir os dadosedit_query: list[ColumnData] - lista de ColumnData abaixo descritosColumnData: ColumnDate - instância para inserir os dados nas colunas da tabela. Recebecolumnque corresponde ao nome da coluna evaluecorrespondente ao novo valor a inserircondition: Filter (opcional) - Para mais detalhes veja parametros de filtragem
Adiconar Coluna
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
db.add_column(
tablename='usuarios',
column=db.Column(
name='idade',
column_type=db.Column_types.Integer.integer
)
)
Parametros
tablename: str - nome da tabelacolumn: Column - instância contendo os detalhes na coluna a ser adicionada
Mais Detalhes sobre a Column veja a documentação clicando aqui
Apagar Coluna
from manage_sql import MYSQL
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
db.drop_column(
tablename='usuarios',
column_name='idade'
)
Parametros
tablename: str - nome da tabelacolumn_name: str - nome da coluna que pretende apagar
Apagar Tabela
from manage_sql import MYSQL
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
db.drop_table(
tablename='usuarios'
)
Parametros
tablename: str - nome da tabela que pretende apagar
Atenção: Tenha em atenção que se executar este comando perderá todos dados dentro da referida tabela.
Comandos SQL
Caso queira rodar outras queries SQL que o manage_sql ainda não possua de forma nativa, pode usar o método execute_query conforme vem no exemplo abaixo:
from manage_sql import MYSQL
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
columns = db.execute_query(
query='show columns from usuarios'
)
print(columns)
Encriptar Valores
O manage_sql possui um metodo proprio para encriptar valores baseado no hash512 que geral 128 caracteres aleatórios. É util para armazenar senhas criptografadas
from manage_sql import MYSQL
db = MYSQL(
host='hostname',
username='username',
password='user_password',
database='database_name'
)
hash_value = db.encrypt_value(
value='Aa12456'
)
Metadata
Release files for manage-sql 1.0.2.dev1303
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| manage_sql-1.0.2.dev1303.tar.gz | 17.7 kB | Without provenance | Details for manage_sql-1.0.2.dev1303.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| manage_sql-1.0.2.dev1303-py3-none-any.whl | Python 3 | none | any | Details for manage_sql-1.0.2.dev1303-py3-none-any.whl |
Total release size: 39.4 kB
Release files / manage_sql-1.0.2.dev1303.tar.gz
| Download URL | manage_sql-1.0.2.dev1303.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b58be403162b54d8d725b863fb905909f28fa62fd99fad221ec65d5cb5deddc
|
|
BLAKE2b-256 checksum How to use checksums |
094bec101e205f932fb18607eee96e9b84b1e5506fabdb6e86d8a33b72dcaf39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|
Release files / manage_sql-1.0.2.dev1303-py3-none-any.whl
| Download URL | manage_sql-1.0.2.dev1303-py3-none-any.whl |
|---|---|
| Size | 21.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f5bb9310021318b2a6278f0e09ebbd621b42d8f6871ead760fba098cee562a9c
|
|
BLAKE2b-256 checksum How to use checksums |
b98a41f47d4eebd2b6160b88a46d9271b2aa9b46c0e5f28fd64bae1807936bd9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|
Security for manage-sql 1.0.2.dev1303
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.