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
PRIVATEmas não emDOGE. - A segunda consulta faz um
INNER JOINentre 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

Comentários
Comente só assim vamos crescer juntos!