Yanıtlar:
@ Nitrodist'in cevabı işe yarayacak, ancak problemi aşırı mühendislik yapıyor. MySQL'in komut satırı istemcisi, aşağıdaki gibi çok kullanışlı -e
anahtarı destekler :
mysql -uroot -e "create database 'foo'"
Elbette geçerli herhangi bir SQL yerine o yerini kullanabilirsiniz.
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
. Onlar olmadan iyi çalışıyor. Teşekkür @IanVaughan
MySQL'in belgelerine göre, mysql
komutları alabilir.stdin
shell> mysql -uroot < script.sql > output.tab
Bunu gerçekleştirmek için İşlem Değişikliğini kullanabilirsiniz :
shell> mysql -uroot <(echo "create database mydatabase;")
ya da sadece boru bunu yapabilirsiniz stdin
arasında mysql
normalde:
shell> echo "create database mydatabase;" | mysql -uroot
Bunu kişisel olarak test edemiyorum, ancak bunun çalışması gerektiğini düşünüyorum.
Düzenleme: Başka bir seçenek kullanmaktır -e
belirtilen seçeneği, burada aynen böyle:
shell> mysql -uroot -e "create database mydatabase;"