जवाबों:
@ नाइट्रोडिस्ट का जवाब काम करेगा, लेकिन यह समस्या का इंजीनियरिंग है। MySQL के कमांड-लाइन क्लाइंट बहुत आसान -e
स्विच का समर्थन करता है , जैसे:
mysql -uroot -e "create database 'foo'"
आप निश्चित रूप से किसी भी वैध एसक्यूएल को वहां ले जा सकते हैं।
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
। उनके बिना यह ठीक काम करता है। धन्यवाद @IanVaughan
MySQL के दस्तावेज के अनुसार, mysql
से कमांड ले सकते हैंstdin
shell> mysql -uroot < script.sql > output.tab
इसे पूरा करने के लिए आप प्रक्रिया प्रतिस्थापन का उपयोग कर सकते हैं :
shell> mysql -uroot <(echo "create database mydatabase;")
या यदि आप बस के लिए यह पाइप कर सकते हैं stdin
की mysql
सामान्य रूप से:
shell> echo "create database mydatabase;" | mysql -uroot
व्यक्तिगत रूप से इसका परीक्षण नहीं किया जा सकता है, लेकिन मुझे लगता है कि यह काम करना चाहिए।
संपादित करें: एक अन्य विकल्प विकल्प का उपयोग करना -e
है, यहां निर्दिष्ट है , जैसे:
shell> mysql -uroot -e "create database mydatabase;"