Recuperar dados do sql em um local especificado no texto

0

Sou muito novo no sql e bash-scripting, mas mesmo assim consegui fazer uma tabela sql com os próximos eventos. E eu consegui fazer um Script excluindo eventos antigos e exportar tudo na tabela para um arquivo de texto. E é assim que esse código parece ..

#!bin/bash
mysql -uroot -pPass kalender -e "delete from event where datum < now()"
mysql -uroot -pPass kalender -e "select * from event" > textfile.txt

Mas como devo fazer para criar um campo específico em um texto como este?


O (date1) (artist1) chegará a (place1) em (day1) em (time1)
O (date2) (artist2) chegará a (place2) on (day2) a (time2)

    
por user223062 07.12.2013 / 12:56

1 resposta

2

Supondo que as colunas da sua tabela event sejam nomeadas como estão na saída esperada, você poderia fazer isso:

mysql -uroot -pPass kalender -B  --disable-column-names -e "select concat('The ', date_format(date1, '%d.%m.%Y'), ' ', artist1, ' will come to place ', place1, ' on ', date_format(day1, '%W'), ' at ', date_format(time1, '%H:%i')) from event" > textfile.txt

Notas:

  • Claro, você pode alterar a formatação dos campos de data e hora como desejar. Consulte o link para obter uma lista abrangente de formatos.
  • Se date1 , day1 e time1 estiverem realmente se referindo à mesma coluna, isso não será problema. Você usa apenas o mesmo nome de coluna para todos os formatos e as strings de formato determinam o que é impresso.
  • Adicionei as opções -B e --disable-column-names para suprimir a formatação normal da instrução de seleção.
por Marcus Rickert 07.12.2013 / 13:26