Как вы запускаете один запрос через mysql из командной строки? - программирование

Как вы запускаете один запрос через mysql из командной строки?

Я ищу, чтобы иметь возможность запускать один запрос на удаленном сервере в скриптовой задаче.

Например, интуитивно, я бы предположил, что это будет выглядеть примерно так:

mysql -uroot -p -hslavedb.mydomain.com mydb_production "select * from users;"
4b9b3361

Ответ 1

mysql -u <user> -p -e "select * from schema.table"

Ответ 2

mysql -uroot -p -hslavedb.mydomain.com mydb_production -e "select * from users;"

Из распечатки использования:

-e, --execute=name
Выполнить команду и выйти. (Отключает --force и файл истории)

Ответ 3

здесь, как вы можете сделать это с помощью трюка с оболочкой:

mysql -uroot -p -hslavedb.mydomain.com mydb_production <<< 'select * from users'

'< < <' инструктирует оболочку брать все, что следует за ней, как stdin, похожее на трубопровод из эха.

используйте флаг -t, чтобы включить вывод табличного формата

Ответ 4

Если это запрос, который вы часто выполняете, вы можете сохранить его в файле. Затем в любой момент, когда вы захотите запустить его:

mysql < thefile

(со всеми флагами входа и базы данных, конечно)

Ответ 5

echo "select * from users;" | mysql -uroot -p -hslavedb.mydomain.com mydb_production