chr*_*lee 27 bash database mysql command-line
是否可以在 bash 中使用一行命令创建一个空数据库?
我的新手尝试失败了:
mysql -uroot $(create database mydatabase;)
我最终不得不
mysql -urootcreate database mydatabase;exit;Kro*_*mey 38
@Nitrodist 的答案会起作用,但它对问题进行了过度设计。MySQL 的命令行客户端支持非常方便的-e开关,如下所示:
mysql -uroot -e "create database 'foo'"
Run Code Online (Sandbox Code Playgroud)
您当然可以将任何有效的 SQL 替换到那里。
Nit*_*ist 14
根据 MySQL 的文档,mysql可以从stdin
shell> mysql -uroot < script.sql > output.tab
Run Code Online (Sandbox Code Playgroud)
您可以使用进程替换来完成此操作:
shell> mysql -uroot <(echo "create database mydatabase;")
Run Code Online (Sandbox Code Playgroud)
或者你可以就管到stdin的mysql正常使用:
shell> echo "create database mydatabase;" | mysql -uroot
Run Code Online (Sandbox Code Playgroud)
无法亲自测试,但我认为这应该有效。
编辑:另一个选项是使用此处-e指定的选项,如下所示:
shell> mysql -uroot -e "create database mydatabase;"
Run Code Online (Sandbox Code Playgroud)