Réponses:
@ La réponse de Nitrodist fonctionnera, mais c'est une ingénierie excessive du problème. Le client en ligne de commande de MySQL prend en charge le -e
commutateur très pratique , comme ceci:
mysql -uroot -e "create database 'foo'"
Vous pouvez bien sûr y substituer n'importe quel SQL valide.
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
. Sans eux, cela fonctionne bien. Merci @IanVaughan
Selon la documentation de MySQL, le mysql
peut recevoir des commandes destdin
shell> mysql -uroot < script.sql > output.tab
Vous pouvez utiliser la substitution de processus pour accomplir ceci:
shell> mysql -uroot <(echo "create database mydatabase;")
ou vous pouvez juste conduite à la stdin
de mysql
normalement:
shell> echo "create database mydatabase;" | mysql -uroot
Je ne peux pas tester cela personnellement, mais je pense que cela devrait fonctionner.
Edit: Une autre option consiste à utiliser l' -e
option, spécifiée ici , comme ceci:
shell> mysql -uroot -e "create database mydatabase;"