Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Bash+Mysql  (Прочитано 9611 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн truegeek

  • Автор темы
  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Bash+Mysql
« : 01 Июня 2009, 18:50:51 »
Кто-нибудь работает с БД Mysql с помощью bash скриптов?
Поделитесь пожалуйста ссылками или советами.

С Mysql работал только через php, как это ПРАВИЛЬНО делается из bash?
Можно ссылки на примеры...

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Bash+Mysql
« Ответ #1 : 01 Июня 2009, 19:17:34 »
Там есть программа, которая читает из аргументов командной строки запрос, отдает его серверу и пишет в stdout результат.

Называется mysql.

mysql --help
или
man mysql

помогут.

result=(`mysql -B -s -e 'use database; select * from table'`)

Дальше в result оказывается массив из результатов.
« Последнее редактирование: 01 Июня 2009, 19:27:34 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн truegeek

  • Автор темы
  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Bash+Mysql
« Ответ #2 : 01 Июня 2009, 20:03:22 »
можно в принципе и так сделать

echo 'select * from job.uchenik order by numm;' | mysql -uroot -proot

вопрос что с этим дальше делать.
аналогия с php:
while ( $line = mysql_fetch_array($query) ) {
   echo $line[col];
}
перебор значений нужен, чтобы к каждому применить что-либо

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Bash+Mysql
« Ответ #3 : 02 Июня 2009, 10:59:40 »
А дальше
for i in ${result[*]} ; do
 echo $i
done

Advanced Bash scripting Guide Вам в помощь.

http://tldp.org/LDP/abs/html/

$ aptitude show abs-guide
Package: abs-guide
State: not installed
Version: 4.1-1
Priority: optional
Section: multiverse/doc
Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
Uncompressed Size: 4436k
Recommends: lynx | www-browser
Description: The Advanced Bash-Scripting Guide
 An in-depth exploration of the art of shell scripting.

 This tutorial assumes no previous knowledge of scripting or programming, but progresses rapidly toward an
 intermediate/advanced level of instruction ... all the while sneaking in little snippets of UNIX(R) wisdom and lore. It
 serves as a textbook, a manual for self-study, and a reference and source of knowledge on shell scripting techniques. The
 exercises and heavily-commented examples invite active reader participation, under the premise that the only way to really
 learn scripting is to write scripts.

 This book is suitable for classroom use as a general introduction to programming concepts.

Tags: role::documentation

Или можно на AWK обработку писать:
mysql -e 'select ... ' | awk ' программа '
« Последнее редактирование: 02 Июня 2009, 11:01:36 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн truegeek

  • Автор темы
  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Bash+Mysql
« Ответ #4 : 02 Июня 2009, 11:04:03 »
спасибо за помощь.. буду работать

 

Страница сгенерирована за 0.056 секунд. Запросов: 25.