Jawaban:
Jawaban @ Nitrodist akan berhasil, tapi ini rekayasa masalah secara berlebihan. Klien baris perintah MySQL mendukung -e
switch yang sangat praktis , seperti:
mysql -uroot -e "create database 'foo'"
Tentu saja Anda dapat mengganti SQL yang valid ke sana.
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
. Tanpa mereka, itu bekerja dengan baik. Terima kasih @IanVaughan
Menurut dokumentasi MySQL, mysql
dapat mengambil perintah daristdin
shell> mysql -uroot < script.sql > output.tab
Anda dapat menggunakan Proses Pergantian untuk mencapai ini:
shell> mysql -uroot <(echo "create database mydatabase;")
atau Anda bisa hanya pipa ke stdin
dari mysql
biasanya:
shell> echo "create database mydatabase;" | mysql -uroot
Tidak dapat menguji ini secara pribadi, tetapi saya pikir ini harus berhasil.
Sunting: Opsi lain adalah menggunakan -e
opsi, yang ditentukan di sini , seperti:
shell> mysql -uroot -e "create database mydatabase;"