Получить данные из SQL в указанное место в тексте

Я очень плохо знаком с sql и bash-скриптингом, но даже в этом случае мне удается создать sql-таблицу с предстоящими событиями. И мне удается создать скрипт, удаляющий старые события, и экспортировать все в таблице в текстовый файл. И вот как выглядит этот код ..

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

Но как мне сделать конкретное поле в тексте, как это ..

Пр.
(дата1) (исполнитель1) придет (место1) в (день1) в (время1)
(дата2) (исполнитель2) придет в (место2) в (день2) в (время2)

0
задан 7 December 2013 в 15:56

1 ответ

Предполагая, что столбцы вашей таблицы event названы так, как они есть в ожидаемом результате, вы можете сделать это:

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

Примечания:

  • Конечно, Вы можете изменить форматирование полей даты и времени по своему желанию. См. http://www.w3schools.com/sql/func_date_format.asp для полного списка форматов.
  • Если date1, day1 и time1 на самом деле относятся к одному и тому же столбцу, это не проблема. Вы просто используете одно и то же имя столбца для всех форматов, а строки формата определяют, что будет распечатано.
  • Я добавил опции -B и --disable-column-names для подавления нормального форматирования оператора select.
0
ответ дан 7 December 2013 в 15:56

Другие вопросы по тегам:

Похожие вопросы: