Можно ли создать пустую базу данных с одной командной строкой в bash?
Мои попытки новичка потерпели неудачу:
mysql -uroot $(create database mydatabase;)
Я заканчиваю тем, что должен
mysql -uroot
create database mydatabase;
exit;
Можно ли создать пустую базу данных с одной командной строкой в bash?
Мои попытки новичка потерпели неудачу:
mysql -uroot $(create database mydatabase;)
Я заканчиваю тем, что должен
mysql -uroot
create database mydatabase;
exit;
Ответ @ Nitrodist сработает, но он переоценивает проблему. Клиент командной строки MySQL поддерживает очень удобный ключ -e
, например:
mysql -uroot -e "create database 'foo'"
Конечно, вы можете заменить любой действительный SQL-код.
Согласно документации MySQL, mysql
может принимать команды от stdin
shell> mysql -uroot < script.sql > output.tab
Вы можете использовать замену процесса, чтобы выполнить это:
shell> mysql -uroot <(echo "create database mydatabase;")
или вы можете просто передать его на стандартный stdin
mysql
:
shell> echo "create database mydatabase;" | mysql -uroot
Не могу проверить это лично, но я думаю, что это должно сработать.
Редактировать: Другой вариант - использовать указанную здесь опцию -e
, например:
shell> mysql -uroot -e "create database mydatabase;"