Aplicação desktop com interface gráfica desenvolvida em Python que permite conectar-se a bancos de dados PostgreSQL ou MySQL, executar consultas SQL personalizadas e exportar os resultados para arquivos CSV de forma rápida e intuitiva.
- Interface Gráfica Amigável: Aplicação desktop completa desenvolvida com Tkinter
- Suporte Multi-Banco: Conecta-se tanto a PostgreSQL quanto MySQL
- Teste de Conexão: Valide suas credenciais antes de executar consultas
- Editor SQL Integrado: Área de texto com scroll para colar e editar consultas
- Exportação Personalizável: Escolha o nome e local de salvamento do arquivo CSV
- Feedback em Tempo Real: Barra de status mostrando progresso das operações
- Validações Completas: Sistema robusto de validação de campos e tratamento de erros
- Codificação UTF-8: Suporte completo para caracteres especiais e acentuação
-
Seleção de Banco de Dados
- Escolha entre PostgreSQL ou MySQL
- Porta padrão ajustada automaticamente (5432 para PostgreSQL, 3306 para MySQL)
-
Configuração de Conexão
- Host
- Porta
- Nome do banco de dados
- Usuário
- Senha (campo oculto)
-
Teste de Conexão
- Valide credenciais antes de executar consultas
- Feedback imediato de sucesso ou erro
-
Execução de Consultas
- Editor SQL com scroll
- Suporte a consultas complexas com múltiplos JOINs
- Exibição de quantidade de registros retornados
-
Exportação CSV
- Nome de arquivo personalizável
- Seleção obrigatória de diretório de destino
- Delimitador: ponto e vírgula (;)
- Encoding: UTF-8
- Cabeçalhos automáticos com nomes das colunas
- Python: 3.6 ou superior (testado com Python 3.13.7)
- Sistema Operacional: Windows, Linux ou macOS
- Banco de Dados: PostgreSQL e/ou MySQL (servidor acessível)
git clone https://github.com/seu-usuario/sql-export.git
cd sql-exportpip install -r requirements.txtDependências instaladas:
psycopg2-binary>=2.9.10- Driver PostgreSQLmysql-connector-python>=8.0.0- Driver MySQL
python sql_export.py- Gere o executável usando o script fornecido:
gerar_executavel.bat-
O executável estará disponível em:
dist\ExportadorPostgreSQL.exe -
Execute o arquivo
.exediretamente (não requer Python instalado)
- Selecione o tipo de banco de dados (PostgreSQL ou MySQL)
- Preencha os dados de conexão:
- Host (ex: localhost)
- Porta (ajustada automaticamente)
- Nome do banco
- Usuário e senha
- Teste a conexão usando o botão "Testar Conexão"
- Cole sua consulta SQL na área de texto
- Defina o nome do arquivo CSV (extensão .csv é adicionada automaticamente)
- Selecione o local onde deseja salvar o arquivo (obrigatório)
- Clique em "Exportar para CSV"
- Aguarde a confirmação com quantidade de registros exportados
sql-export/
├── sql_export.py # Aplicação principal com interface gráfica
├── requirements.txt # Dependências do projeto
├── gerar_executavel.bat # Script para gerar executável Windows
└── README.md # Documentação do projeto
Para distribuir a aplicação sem necessidade de Python instalado:
Execute o arquivo gerar_executavel.bat que automatiza:
- Instalação do PyInstaller
- Geração do executável único
- Limpeza de arquivos temporários
Ou manualmente:
pip install pyinstaller
pyinstaller --onefile --windowed --name "ExportadorSQL" sql_export.pypip install pyinstaller
pyinstaller --onefile --windowed --name "ExportadorSQL" sql_export.pySELECT * FROM usuarios WHERE ativo = trueSELECT
u.nome,
u.email,
p.titulo as cargo,
d.nome as departamento
FROM usuarios u
INNER JOIN cargos p ON u.id_cargo = p.id
INNER JOIN departamentos d ON u.id_departamento = d.id
WHERE u.data_admissao >= '2024-01-01'- Delimitador: Ponto e vírgula (
;) - Encoding: UTF-8
- Quebra de linha: Automática
- Cabeçalho: Primeira linha contém os nomes das colunas
A aplicação possui validações para:
- Campos obrigatórios vazios
- Falhas de conexão ao banco de dados
- Erros na execução de consultas SQL
- Problemas na criação/gravação de arquivos
- Consultas sem resultados
Contribuições são bem-vindas! Sinta-se à vontade para:
- Fazer fork do projeto
- Criar uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abrir um Pull Request
Ailton Occhi
- GitHub: @AiltonOcchi
- Interface gráfica desenvolvida com Tkinter
- Conexão PostgreSQL via psycopg2
- Conexão MySQL via MySQL Connector/Python
Se este projeto foi útil para você, considere dar uma estrela no GitHub!