bashで1行のコマンドで空のデータベースを作成することは可能ですか?
初心者の試みは失敗しました
mysql -uroot $(create database mydatabase;)
結局、私は
mysql -uroot
データベースmydatabaseを作成します
exit;
25 chrisjlee 2011-05-25
ベストアンサー
Nitrodistの答えはうまくいくでしょうが、問題を過剰に設計しています。MySQLのコマンドラインクライアントは、以下のように非常に便利な-e
スイッチをサポートしています
mysql -uroot -e "create database 'foo'"
もちろん、そこに有効なSQLを代用することもできます
34 Kromey 2011-05-25
MySQLのドキュメントによると、mysql
はstdin
からコマンドを取ることができます
shell> mysql -uroot < script.sql > output.tab
これを達成するには、プロセス置換を使用することができます
shell> mysql -uroot <(echo "create database mydatabase;")
とか、普通にmysql
のstdin
にパイプすればいいんじゃないかな
shell> echo "create database mydatabase;" | mysql -uroot
個人的にはテストできませんが、これは動くと思います
編集: もう一つの選択肢は、ここを指定した-e
オプションを使用することです
shell> mysql -uroot -e "create database mydatabase;"
14 Nitrodist 2011-05-25