Antworten:
@ Nitrodists Antwort wird funktionieren, aber das Problem ist zu hoch. Der Befehlszeilen-Client von MySQL unterstützt den sehr praktischen -e
Schalter wie folgt :
mysql -uroot -e "create database 'foo'"
Sie können dort natürlich jedes gültige SQL ersetzen.
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
. Ohne sie funktioniert es gut. Thanks @IanVaughan
Laut MySQL-Dokumentation mysql
können die Befehle von übernehmenstdin
shell> mysql -uroot < script.sql > output.tab
Sie können Process Substitution verwenden , um dies zu erreichen:
shell> mysql -uroot <(echo "create database mydatabase;")
oder Sie können nur eine Pipe an den stdin
von der mysql
Regel:
shell> echo "create database mydatabase;" | mysql -uroot
Ich kann das nicht persönlich testen, aber ich denke, das sollte funktionieren.
Bearbeiten: Eine andere Option ist die Verwendung der hier-e
angegebenen Option , wie folgt :
shell> mysql -uroot -e "create database mydatabase;"