pegue a saída do mysql e armazene no excel

0

Eu tenho banco de dados sob essa tabela. por exemplo, test_table. nisso

  name age sex edu   job    timein              doj
  yyy   33  m   bsc  comp   22/3/13 12:32:44    3/2/11
  xxx   22  f   mca  soft   22/3/13 11:30:11    11/10/09
  zzz   44  f   puc  clerk  22/3/13 12:00:24    5/11/08

comando

 mysql -u root -ppass123  -e "use test_db; select name,age, sex,edu,job,timein,doj from test_table;"

como converter em excel

    
por Beginner 08.03.2016 / 08:03

2 respostas

6

Mude para o diretório em que você gostaria de salvar seu arquivo CSV. Então corra

mysql -u root -ppass123 -e "USE test_db; SELECT * INTO OUTFILE 'testtable.csv' FROM test_table;"

Por favor, note que "SELECT *" seleciona todas as colunas, enquanto você listou todas elas. Se você quiser selecionar apenas algumas colunas, precisará substituir * pelos nomes das colunas novamente, separados por vírgulas.

Ele produzirá um arquivo chamado testtable.csv neste diretório, que você pode abrir com MS Excel ou LibreOffice Calc .

Procure na documentação do MySQL por SELECT ... INTO OUTFILE aqui para mais informações: link

    
por Gasp0de 08.03.2016 / 08:35
1

Outra forma seria armazenar a saída diretamente em uma planilha .xls ;

Isso pode ser feito canalizando a saída de mysql para ssconvert (no pacote gnumeric ), mas requer que o arquivo de entrada de ssconvert seja um CSV ou um TSV.

Você pode adicionar a opção -B ao comando mysql (que força mysql a gerar um TSV) e canalizar a saída do comando mysql para ssconvert :

mysql -u root -ppass123  -B -e "use test_db; select name,age, sex,edu,job,timein,doj from test_table;" |\
ssconvert fd://0 output_file.xls
    
por kos 08.03.2016 / 08:51