você está aqui: Home  → Arquivo de Mensagens

Exportação 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.



Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Ratazana Games
10 Jun 2015, 09:41
Uma dica que pode ser útil (foi no meu caso), para exportar dados de um servidor diferente:

mysql -u usuario -psuasenha -h servidor -B -e "SELECT * FROM cadastro" | sed 's/\t/"|"/g;s/^/"/;s/$/"/;s/\n//g' > /tmp/cadastro.csv
Thiago
10 Ago 2013, 23:39
Olá amigo,Obrigado pela informação,ótimo post. Alias,queria dizer a vocês que o caractere de nova linha do bloco de notas do windows é o \r\n que equivale ao \n do csv,doc ou até xls.

Valeu,Boa sorte a todos.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script