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

