Работа с MySQL из командной строки шелл

Иногда работать с MySQL легче через окно терминала, через shell.

Например, когда запрос может занять значительное время на выполнения, или когда Вы хотите исполнять команду посредством cron (расписания).

Первое что нам понадобится в этом случае (естественно после авторизации по ssh), это подсоединиться к нужной базе данных от имени пользователя БД у которого есть достаточные привилегии для работы (записи, чтений и т.д.)

Набираем команду подключения к нашей БД (здесь Вам понадобится пароль пользователя базы данных)

root# mysql -uuser_bd -ppassword bd_name

(после -u , без пробела, Вы пишите имя пользователя БД – в примере выше, это user_bd;
затем , после -p, опять без пробела, пишите пароль пользователя – в примере это password;
в заключении указывается название самой базы данных – в примере это bd_name)

Нажимаем Enter и попадаем в меню управления Вашей БД.
Теперь попробуем выполнить команду выбора данных SELECT:

mysql> SELECT * FROM my_table WHERE id = 10 LIMIT 5

нажимаем Enter, теперь нужно набрать команду выполнения запроса \G – большая латинская G вместе со слешем используется для отображения подробной информации по запросу, можно использовать маленькую букву \g (и тогда mysql просто выведет данные по запросу в форме таблицы , без дополнительной информации)

mysql> SELECT * FROM my_table WHERE id = 10 LIMIT 5
-> \g

нажимаем Enter и смотрим, что у нас выводит БД по таблице my_table где ячейка id равняется десяти.

+-----+------+-----------------+---------------------------------+--------+
| id  | user | name            | surname                         | pay    |
+-----+------+-----------------+---------------------------------+--------+
| 10  |  3   | Ivan            | Petrov                          | 37000  |
+-----+------+-----------------+---------------------------------+--------+

Вы можете выполнить эту команду одной строкой (для добавления в cron):

root# mysql -uuser_bd -ppassword bd_name -e "SELECT * FROM my_table WHERE id = 10 LIMIT 5"

нажимаем Enter и сразу получаем результат. Как видите появился индекс -e , а сам запрос к БД заключен в кавычки.

Точно также можно выполнять запросы INSERT, DELETE, UPDATE и так далее.

 

Опубликовано 13.05.2013 в 00:01 · Автор Вебдизайнеру, сисадмину, вебмастеру · Ссылка
Рубрики: FreeBSD, MySQL, Системное администрирование · Теги: , , , , , , , , ,