bashで一行でmysqlデータベースを作成

bash command-line database mysql

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のドキュメントによると、mysqlstdinからコマンドを取ることができます

shell> mysql -uroot < script.sql > output.tab

これを達成するには、プロセス置換を使用することができます

shell> mysql -uroot <(echo "create database mydatabase;")

とか、普通にmysqlstdinにパイプすればいいんじゃないかな

shell> echo "create database mydatabase;" | mysql -uroot

個人的にはテストできませんが、これは動くと思います

編集: もう一つの選択肢は、ここを指定した-eオプションを使用することです

shell> mysql -uroot -e "create database mydatabase;"

14  Nitrodist  2011-05-25


タイトルとURLをコピーしました