Exportacao de dados de tabelas MySQL em formato texto ou csv

dicas-l.com.br

Exportacao de dados de tabelas MySQL em formato texto ou csv

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 18 de março de 2011

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
  Enter password: xxxxxxxxx

A seguir, selecione o banco de dados que contém a tabela que se quer salvar:

  mysql> 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:

  mysql> 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 algumas diretivas à nossa consulta. Este formato é o mais apropriado para fazer a importação dos dados em um software de planilha eletrônica, como o Libroffice Calc.

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

Com as diretivas acima estamos instruindo o software a delimitar cada campo usando uma vírgula (FIELDS TERMINATED BY ','), sendo que cada campo é delimitado por aspas duplas (ENCLOSED 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 a sua consulta conforme a sua conveniência.

Referências

Esta dica foi montada tomando por base o artigo Save MySQL query results into a text or CSV file.

Comentários