Como comparar duas tabelas SQLite com Python e extrair registros
Verificando registros com Python em bancos SQLite interligados
Hoje vamos mostrar um exemplo prático utilizando Python para manipulação e verificação de dados em bancos de dados SQLite. Este código é ideal para quem precisa validar a consistência entre duas tabelas de bancos distintos.
Objetivo do código Python com SQLite
O objetivo é comparar registros entre duas tabelas de bancos de dados diferentes, usando Python com a biblioteca sqlite_utils
. O código identifica quais IDs da tabela "PRIVATE" não possuem correspondência na tabela "DOGE", e também lista os que estão presentes em ambas.
import sqlite3 from sqlite_utils import Database db = Database("HASH.db") db.attach("a", "DOGE.db") print('Registros vazios na tabela 2:') cursor = db.execute(""" SELECT ID FROM PRIVATE WHERE NOT EXISTS (SELECT * FROM DOGE WHERE PRIVATE.id = DOGE.ID_PRIVATE); """) records = cursor.fetchall() for row in records: print(str(row[0])) print('Registros completos na tabela 2:') acursor = db.execute(""" SELECT PRIVATE.id, SALDO FROM PRIVATE INNER JOIN DOGE ON PRIVATE.id = DOGE.ID_PRIVATE """) arecords = acursor.fetchall() for arow in arecords: print(str(arow[0]))
Entendendo o que o script faz
- Conecta ao banco HASH.db com a ajuda do
sqlite_utils
. - Anexa o banco DOGE.db para acesso cruzado de tabelas.
- A primeira consulta busca IDs que existem em
PRIVATE
mas não emDOGE
. - A segunda consulta faz um
INNER JOIN
entre as tabelas e mostra os registros com saldo.
Aplicações práticas e recomendações
Este tipo de automação é útil em projetos que envolvem validação de dados, auditoria de registros ou conciliação de bancos com estrutura semelhante. Também pode ser adaptado para outros bancos além do SQLite, como PostgreSQL ou MySQL, com pequenos ajustes.
Se você deseja explorar ainda mais o uso de sqlite_utils
, visite o repositório oficial no GitHub:
sqlite-utils.
Observações importantes
Lembre-se de manter cópias de segurança antes de executar manipulações em bases de dados reais. Além disso, esse exemplo não realiza alterações nos dados — apenas leituras e comparações.
Dica: Para ambientes de produção, avalie o uso de ORMs como SQLAlchemy e o uso de ferramentas de logging para melhor rastreabilidade.
Conclusão
Com este código simples, você consegue extrair informações importantes entre dois bancos SQLite de forma automatizada e confiável. Isso economiza tempo, evita erros manuais e é altamente reutilizável em outros contextos de análise de dados.
Deixe nos comentários suas dúvidas ou sugestões. Vamos continuar compartilhando dicas úteis para programadores e analistas de dados!
#python; #sqlite; #programacaobd