Exportar dados de tabelas MySQL para .txt ou .csv

O banco de dados MySQL oferece um recurso bastante útil, que é a exportação de uma tabela de um banco de dados no formato csv (Comma Separated Values), ou txt.

Primeiramente, fazemos o acesso ao banco de dados desejado:

mysql -u root -p

A seguir, selecione o banco de dados que contém a tabela a ser salva:

use empresa;

Em seguida, fazemos a seleção dos campos que desejamos salvar, acrescentando as diretivas para que o resultado da consulta seja salvo em um arquivo.

Comecemos com o caso mais simples, a exportação do resultado da consulta para um arquivo de texto simples, selecionando todos os campos da tabela:

SELECT * FROM cadastro INTO OUTFILE '/tmp/cadastro.txt';

O resultado da consulta será salvo no arquivo /tmp/cadastro.txt.

Para salvar no formato .csv, precisamos acrescentar alguma diretivas à nossa consulta. Este formato é mais apropriado para fazer importação dos dados que serão lidos por softwares de planilha eletrônica, como LibreOffice Calc, Microsoft Excell, etc.

SELECT * FROM cadastro
	INTO OUTFILE '/tmp/cadastro.csv'
	FIELDS TERMINATED BY ','
	ENCLOSED BY '"'
	LINES TERMINATED BY 'n';

Com os parâmetros acima, estamos instruindo o software a delimitar cada campo usando uma vírgula FIELDS TERMINATED BY ',', sendo que cada campo é delimitado por aspas duplas: ECNLOSED BY '"' e finalmente, especificamos que cada linha termina com uma quebra de linha: lines terminated by 'N'.

Para simplificar o texto, foi feita a seleção de todos os campos: SELECT * FROM cadastro, mas você pode montar sua consulta conforme a necessidade.

Referências:

Esta dica foi montada pelo Rubens Queiroz de Almeida, tomando por base o artigo Save MySQL query results into a text or CSV file.

comments powered by Disqus