Exportar dados diretamente do banco de dados para um arquivo CSV via linha de comando é uma das tarefas mais eficientes para automatizar relatórios e processamentos em lote. Este método elimina a necessidade de interfaces gráficas, reduzindo o tempo de execução e evitando erros manuais de exportação.
mysql, psql, sqlite3).Para exportar o resultado de uma query SQL para CSV usando o cliente MySQL, utilize o comando SELECT ... INTO OUTFILE. Este método cria o arquivo diretamente no servidor do banco de dados.
SELECT * FROM tabela_exemplo
INTO OUTFILE '/tmp/resultado.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
No PostgreSQL, a abordagem mais comum é usar a ferramenta psql com a opção -c para executar a query e redirecionar a saída para um arquivo CSV.
psql -h localhost -U usuario -d nome_banco -c "COPY (SELECT * FROM tabela_exemplo) TO STDOUT WITH CSV HEADER" > resultado.csv
Para o SQLite, o comando .mode e .output do cliente interativo permitem exportar o resultado para CSV.
sqlite3 banco.db <
Considere a tabela vendas com as colunas id, produto, valor e data_venda. O comando a seguir exporta todas as vendas do mês de janeiro de 2024 para um CSV:
| Comando | Resultado Esperado |
|---|---|
psql -h localhost -U admin -d vendas -c "COPY (SELECT * FROM vendas WHERE data_venda BETWEEN '2024-01-01' AND '2024-01-31') TO STDOUT WITH CSV HEADER" > vendas_janeiro.csv |
Arquivo vendas_janeiro.csv contendo todas as vendas do mês de janeiro, com cabeçalho e valores separados por vírgula. |
Com estes comandos, você pode exportar resultados de queries SQL para CSV de forma rápida e automatizada, diretamente do terminal. Este método é ideal para processar grandes volumes de dados ou integrar com outras ferramentas de análise e relatórios.