मैं MySQL कमांड लाइन इंटरफेस के बारे में ज्यादा पता नहीं है, लेकिन यह सोचते हैं आप केवल कोसने के साथ मदद की जरूरत है, तो आप की कोशिश करनी चाहिए या तो की तरह चारों ओर आदेशों स्वैप:
myvariable=$(echo "SELECT A, B, C FROM table_a" | mysql database -u $user -p$password)
जो स्ट्रिंग echos MySQL में। या, आप अधिक फैंसी हो सकता है और कुछ नए बैश-सुविधाओं (यहाँ स्ट्रिंग)
myvariable=$(mysql database -u $user -p$password<<<"SELECT A, B, C FROM table_a")
एक ही बात है, जिसके परिणामस्वरूप (आप हाल ही में काफी बैश संस्करण का उपयोग कर रहे हैं यह सोचते हैं) का उपयोग गूंज से जुड़े बिना कर सकते हैं।
कृपया ध्यान दें कि -p $ पासवर्ड एक टाइपो नहीं है, लेकिन जिस तरह से MySQL कमांड लाइन के माध्यम से पासवर्ड को दर्ज करने की अपेक्षा करता है (विकल्प और मूल्य के बीच कोई स्थान नहीं)।
ध्यान दें कि MyVQL में सब कुछ शामिल होगा जो MySQL मानक आउट (आमतौर पर सबकुछ लेकिन त्रुटि संदेशों) पर आउटपुट करता है, जिसमें किसी भी और सभी कॉलम हेडर, ASCII-art फ्रेम और अन्य शामिल हैं, जो आप चाहते हैं या नहीं भी हो सकते हैं।
संपादित करें:
के रूप में उल्लेख किया गया है, वहाँ MySQL करने के लिए एक -e
पैरामीटर प्रतीत होता है, मुझे लगता है कि एक के लिए निश्चित रूप से जाना चाहते हैं,।
पर mysql क्लाइंट स्थापित करने की आवश्यकता है धन्यवाद, mysql कमांड को भी पसंद नहीं आया .. मुझे --password = $ पासवर्ड का उपयोग करने की आवश्यकता है। – imnotneo
आप अपने होम फोल्डर में कॉन्फ़िगरेशन फ़ाइल (.my.cnf कहा जाता है) भी जोड़ सकते हैं जो आपके विकल्पों को स्वचालित रूप से प्लग करेगा। इससे आपकी स्क्रिप्ट – Yitzchak
+1 .my.cnf में कुछ भ्रम बचाएगा - खासकर स्क्रिप्ट से पासवर्ड प्राप्त करने के लिए। -N विकल्प फ़ील्ड नामों को ट्रिम करने के लिए उपयोगी है। – ErichBSchulz