* nix: utilitário para exportar o resultado da consulta mysql para Exel (xls)

2

Existe algum utilitário de console que pode exportar o resultado da consulta mysql sql para o arquivo Exel (xls)?

    
por TiFFolk 06.08.2009 / 11:06

3 respostas

3

Você pode usar esta sintaxe:

SELECT order_id,product_name,qty
FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

Ele criará um arquivo CSV com o resultado de sua consulta que pode ser importado para o Excel.

    
por 06.08.2009 / 11:50
4

Você pode usar mysqldump para gerar CSV que o Excel entenderá.

mysqldump -u<user> -p --tab=<path> --fields-enclosed-by=\" --fields-terminated-by=, <database>

Existem algumas ressalvas na memória:

  • Ele usará OUTFILE para que o cliente esteja localizado na mesma máquina que o servidor.
  • O usuário que mysqld está executando, precisará de permissões de gravação para o caminho de saída.
  • Você pode querer voltar achown dos arquivos de saída.
  • Você precisará renomear os arquivos de saída de .txt para .csv .
  • Ele também gerará .sql arquivos. Você pode excluir estes.

Se é algo que você deseja fazer regularmente, em vez de apenas um, seria preferível criar um script sem o uso de mysqldump . Eu criei uma ferramenta que usamos internamente que faz uso dos módulos MySQL e CSV do Python, que funciona sem as ressalvas acima.

    
por 06.08.2009 / 11:22
1

Talvez não seja a resposta esperada, mas na conferência NLUUG de maio, assisti a uma apresentação do desenvolvedor de libferris . Na época, eu achava que era um projeto de hobby, mais do que um projeto com usos técnicos reais, mas com o tempo mudei minha opinião.

A ideia é montar (sim, montar) o seu banco de dados como um sistema de arquivos e manipular seus dados através dele. O desenvolvedor mencionou especificamente que seria possível usar o banco de dados MySQL montado, completamente legível e gravável, através do Excel.

Pode ser um pouco demais. Você deve procurar exportar para csv (facilmente programável por script) e importá-lo para o Excel.

    
por 06.08.2009 / 11:12

Tags