Как выполнить MySQL запрос в скрипте командной строки

Как выполнить MySQL запрос в скрипте командной строки

Life-Hack


Когда вы пишите скрипт командной строки как часть некоторой пакетной обработки, бывают ситуации, когда скрипту нужно обработать данные, хранящиеся на отдельном MySQL сервере. Скриптовые языки общего назначения, вроде Perl и Python, имеют отдельные MySQL модули или интерфейсы для использования в этой ситуации, но скриптовые языки командной строки не имеют такого интерфейса для MySQL. Тем не менее, есть способы выполнить простые MySQL запросы и обработать результат посредством скрипта командной строки.

Далее инструкция, как сделать MySQL запрос в скрипте командной строки.

Во-первых, у вас должен быть установлен MySQL клиент на хост, где вы будете запускать ваш скрипт командной строки.

Предположим, что так и есть, в этом случае вы можете выполнить следующий шелл-скрипт. Пример кода, представленный здесь, выполняет простой MySQL вызов SELECT и обрабатывает результат, который, потенциально, содержит несколько строк.

#!/bin/bash

 result=`mysql -h $dbHost --user=$dbUser --password=$dbPassword --skip-column-names -e "select id from mydb.mytable where myattribute = 3"`

 items=$(echo $result | tr " " "n")

 for item in $items

 do

 echo "$item"

 done


В этом отрывке кода переменная "result" будет хранить множество записей таблицы, объединённых белым пробелом. Поэтому вам нужно разделить строку результата на индивидуальные строки, помещённые в "items" как массив. Наконец, обработайте в цикле индивидуальные строки так, как вы хотите. Источник

Report Page