Answers:
@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;"