Ответы:
Ответ @ Nitrodist сработает, но он переоценивает проблему. Клиент командной строки MySQL поддерживает очень удобный -e
переключиться, вот так:
mysql -uroot -e "create database 'foo'"
Конечно, вы можете заменить любой действительный SQL-код.
mysql -uroot -e "create database foo"
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''foo'' at line 1
, Без них все работает нормально. Спасибо @IanVaughan
Согласно документации 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;"