Risposte:
La risposta di @ Nitrodist funzionerà, ma il problema è eccessivo. Il client da riga di comando di MySQL supporta l'opzione molto utile -e
, in questo modo:
mysql -uroot -e "create database 'foo'"
Ovviamente puoi sostituire qualsiasi SQL valido.
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
. Senza di loro funziona benissimo. Grazie @IanVaughan
Secondo la documentazione di MySQL, mysql
possono prendere comandi dastdin
shell> mysql -uroot < script.sql > output.tab
È possibile utilizzare Sostituzione processo per ottenere questo risultato:
shell> mysql -uroot <(echo "create database mydatabase;")
oppure puoi semplicemente collegarlo al stdin
di mysql
normalmente:
shell> echo "create database mydatabase;" | mysql -uroot
Non posso provarlo personalmente, ma penso che dovrebbe funzionare.
Modifica: un'altra opzione è quella di utilizzare l' -e
opzione, qui specificata , in questo modo:
shell> mysql -uroot -e "create database mydatabase;"