MySQL - Gerando .csv a partir de uma Query pelo Shell




Dependendo da complexidade de suas queries será muito difícil exportar dados através de IDEs como o MySQL workbench por exemplo. "Perda de conexão" é um dos erros mais comuns.

Conectar via Shell no MySQL pode ser uma opção porém exportar arquivos para uma pasta de trabalho pode resultar em erros de permissão de acesso e etc.

Para evitar estes problemas é possível utilizar um truque muito simples: utilizar diretamente o Shell para chamar o MySQL juntamente com um parâmetro -e a querie desejada e na sequência redirecionar o resultado da querie para sua pasta de trabalho.

Segue um exemplo simples abaixo:

 mysql -uuser -p -e "SELECT * FROM database.tabela_1 FIELDS ENCLOSED BY '\"' TERMINATED BY ';' ESCAPED BY '\"' LINES TERMINATED BY '\r\n'" > /home/minha_pasta/tabela_1.csv  


É possível fazer a querie sem os parâmetros de formatação FIELDS. A saída será um arquivo texto com padrão de separação por TABS.

 mysql -uuser -p -e "SELECT * FROM database.tabela_1" > /home/minha_pasta/tabela_1.csv  

Comentários

Postagens mais visitadas deste blog

MySQL - Completando quantidades fixas de caracteres com as funções LPAD() e RPAD()

MySQL - Clonando tabelas na linha de comando

PHP - Gerando arquivo em UTF-8 com fwrite() e utf8_encode()