MySQL में SELECT क्वेरी क्या है?
Select QUERY का उपयोग MySQL डेटाबेस से डेटा लाने के लिए किया जाता है। डेटाबेस बाद में पुनर्प्राप्ति के लिए डेटा संग्रहीत करता है। MySQL Select का उद्देश्य डेटाबेस टेबल से एक या एक से अधिक पंक्तियों को वापस करना है जो किसी दिए गए मानदंड से मेल खाते हैं। PHP, Ruby जैसी स्क्रिप्टिंग भाषा में सेलेक्ट क्वेरी का उपयोग किया जा सकता है, या आप इसे कमांड प्रॉम्प्ट के माध्यम से निष्पादित कर सकते हैं।
SQL चयन कथन वाक्यविन्यास
यह सबसे अधिक इस्तेमाल किया जाने वाला SQL कमांड है और इसमें निम्नलिखित सामान्य वाक्यविन्यास हैं
SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)यहां
- सेलेक्ट एसक्यूएल कीवर्ड है जो डेटाबेस को बताता है कि आप डेटा को पुनः प्राप्त करना चाहते हैं।
- [DISTINCT | सभी] वैकल्पिक कीवर्ड हैं जिनका उपयोग SQL SELECT स्टेटमेंट से दिए गए परिणामों को ठीक करने के लिए किया जा सकता है। यदि कुछ भी निर्दिष्ट नहीं है, तो सभी को डिफ़ॉल्ट माना जाता है।
- {{| [fieldExpression [AS newName]} कम से कम एक हिस्सा निर्दिष्ट किया जाना चाहिए, "*" निर्दिष्ट तालिका नाम से सभी फ़ील्ड चयनित, फ़ील्डExpression निर्दिष्ट फ़ील्ड्स पर कुछ संगणना करता है जैसे कि संख्याओं को जोड़ना या एक साथ दो स्ट्रिंग फ़ील्ड डालना।
- से TableName अनिवार्य है और कम से कम एक तालिका शामिल होनी चाहिए, कई तालिकाओं के लिए अल्पविराम का उपयोग कर अलग किया जाना चाहिए या कीवर्ड में शामिल हों का उपयोग कर शामिल हो गए।
- जहां स्थिति वैकल्पिक है, इसका उपयोग क्वेरी से लौटे परिणाम सेट में मानदंड निर्दिष्ट करने के लिए किया जा सकता है।
- GROUP BY का उपयोग उन रिकॉर्ड्स को एक साथ रखने के लिए किया जाता है जिनमें समान फ़ील्ड मान होते हैं।
- ग्रुप बाय कीवर्ड का उपयोग करते समय मापदंड निर्दिष्ट करने के लिए HAVING की स्थिति का उपयोग किया जाता है।
- परिणाम सेट के क्रम को निर्दिष्ट करने के लिए ORDER BY का उपयोग किया जाता है।
*
स्टार प्रतीक का उपयोग तालिका के सभी स्तंभों को चुनने के लिए किया जाता है। सरल चयन कथन का एक उदाहरण नीचे दिखाया गया जैसा दिखता है।
SELECT * FROM `members`;
उपरोक्त कथन सदस्य तालिका से सभी क्षेत्रों का चयन करता है। अर्ध-उपनिवेश एक कथन है। यह अनिवार्य नहीं है लेकिन इस तरह से अपने बयानों को समाप्त करने के लिए एक अच्छा अभ्यास माना जाता है।
व्यावहारिक उदाहरण
व्यावहारिक उदाहरणों के लिए उपयोग की जाने वाली myflix DB को डाउनलोड करने के लिए क्लिक करें ।
आप MySQL WorkBench में .sql फ़ाइल आयात करना सीख सकते हैं
उदाहरण निम्नलिखित दो तालिकाओं पर किए जाते हैं
तालिका 1: सदस्यों की तालिका
सदस्यता संख्या | पूरे नाम | लिंग | जन्म की तारीख | भौतिक पता | डाक पता | contct_ संख्या | ईमेल |
---|---|---|---|---|---|---|---|
1 | जेनेट जोन्स | महिला | 21-07-1980 | पहला स्ट्रीट प्लॉट नंबर 4 | निजी थैला | 0759 253 542 | इस ईमेल पते की सुरक्षा स्पैममबोट से की जा रही है। इसे देखने के लिए आपको जावास्क्रिप्ट सक्षम करना होगा। |
२ | जेनेट स्मिथ जोन्स | महिला | 23-06-1980 | मेलरोज़ 123 | शून्य | शून्य | इस ईमेल पते की सुरक्षा स्पैममबोट से की जा रही है। इसे देखने के लिए आपको जावास्क्रिप्ट सक्षम करना होगा। |
३ | रॉबर्ट फिल | पुरुष | 12-07-1989 | तीसरी गली ३४ | शून्य | 12345 है | इस ईमेल पते की सुरक्षा स्पैममबोट से की जा रही है। इसे देखने के लिए आपको जावास्क्रिप्ट सक्षम करना होगा। |
४ | ग्लोरिया विलियम्स | महिला | 14-02-1984 | दूसरी गली २३ | शून्य | शून्य | शून्य |
तालिका 2: फिल्में तालिका
movie_id | शीर्षक | निदेशक | year_released | श्रेणी ID |
---|---|---|---|---|
1 | कैरिबियन 4 के समुद्री डाकू | रोब मार्शल | 2011 | 1 |
२ | सारा मार्शल भूल गया | निकोलस स्टोलर | 2008 | २ |
३ | एक्स पुरुष | शून्य | 2008 | शून्य |
४ | कोड नाम काला | एडगर जिम्ज़ | 2010 | शून्य |
५ | डैडीज लिटिल गर्ल्स | शून्य | 2007 | । |
६ | स्वर्गदूत और राक्षस | शून्य | 2007 | ६ |
। | Davinci कोड | शून्य | 2007 | ६ |
९ | हनी मूनर्स | जॉन शुल्त्स | 2005 | । |
१६ | 67% दोषी | शून्य | 2012 | शून्य |
सदस्यों की सूची प्राप्त करना
मान लीजिए कि हम अपने डेटाबेस से सभी पंजीकृत लाइब्रेरी सदस्यों की एक सूची प्राप्त करना चाहते हैं, तो हम ऐसा करने के लिए नीचे दी गई स्क्रिप्ट का उपयोग करेंगे।
SELECT * FROM `members`;
MySQL कार्यक्षेत्र में उपरोक्त स्क्रिप्ट को निष्पादित करने से निम्न परिणाम उत्पन्न होते हैं।
सदस्यता संख्या | पूरे नाम | लिंग | जन्म की तारीख | भौतिक पता | डाक पता | contct_ संख्या | ईमेल |
---|---|---|---|---|---|---|---|
1 | जेनेट जोन्स | महिला | 21-07-1980 | पहला स्ट्रीट प्लॉट नंबर 4 | निजी थैला | 0759 253 542 | इस ईमेल पते की सुरक्षा स्पैममबोट से की जा रही है। इसे देखने के लिए आपको जावास्क्रिप्ट सक्षम करना होगा। |
२ | जेनेट स्मिथ जोन्स | महिला | 23-06-1980 | मेलरोज़ 123 | शून्य | शून्य | इस ईमेल पते की सुरक्षा स्पैममबोट से की जा रही है। इसे देखने के लिए आपको जावास्क्रिप्ट सक्षम करना होगा। |
३ | रॉबर्ट फिल | पुरुष | 12-07-1989 | तीसरी गली ३४ | शून्य | 12345 है | इस ईमेल पते की सुरक्षा स्पैममबोट से की जा रही है। इसे देखने के लिए आपको जावास्क्रिप्ट सक्षम करना होगा। |
४ | ग्लोरिया विलियम्स | महिला | 14-02-1984 | दूसरी गली २३ | शून्य | शून्य | शून्य |
हमारी उपरोक्त क्वेरी ने सदस्य तालिका से सभी पंक्तियों और स्तंभों को वापस कर दिया है।
मान लें कि हम केवल पूर्ण_नाम, लिंग, भौतिक_ड्रेस और ईमेल फ़ील्ड केवल प्राप्त करने में रुचि रखते हैं। निम्नलिखित स्क्रिप्ट हमें इसे प्राप्त करने में मदद करेगी।
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
MySQL कार्यक्षेत्र में उपरोक्त स्क्रिप्ट को निष्पादित करने से निम्न परिणाम उत्पन्न होते हैं।
पूरे नाम | लिंग | भौतिक पता | ईमेल |
---|---|---|---|
जेनेट जोन्स | महिला | पहला स्ट्रीट प्लॉट नंबर 4 | इस ईमेल पते की सुरक्षा स्पैममबोट से की जा रही है। इसे देखने के लिए आपको जावास्क्रिप्ट सक्षम करना होगा। |
जेनेट स्मिथ जोन्स | महिला | मेलरोज़ 123 | इस ईमेल पते की सुरक्षा स्पैममबोट से की जा रही है। इसे देखने के लिए आपको जावास्क्रिप्ट सक्षम करना होगा। |
रॉबर्ट फिल | पुरुष | तीसरी गली ३४ | इस ईमेल पते की सुरक्षा स्पैममबोट से की जा रही है। इसे देखने के लिए आपको जावास्क्रिप्ट सक्षम करना होगा। |
ग्लोरिया विलियम्स | महिला | दूसरी गली २३ | शून्य |
फिल्में लिस्टिंग हो रही हैं
हमारी उपरोक्त चर्चा में याद रखें कि हम चयन कथनों में अभिव्यक्तियों का उल्लेख करते हैं। मान लीजिए कि हम अपने डेटाबेस से मूवी की एक सूची प्राप्त करना चाहते हैं। हम फिल्म का शीर्षक और एक क्षेत्र में फिल्म निर्देशक का नाम रखना चाहते हैं। फिल्म निर्देशक का नाम कोष्ठक में होना चाहिए। हम उस वर्ष को भी प्राप्त करना चाहते हैं जो फिल्म रिलीज हुई थी। निम्नलिखित स्क्रिप्ट हमें ऐसा करने में मदद करती है।
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
यहां
- Concat () MySQL फ़ंक्शन का उपयोग कॉलम मानों को एक साथ जोड़ने के लिए किया जाता है।
- "कॉनैट" ('शीर्षक', '(', 'निदेशक', ')') शीर्षक मिलता है, निर्देशक के नाम के बाद एक उद्घाटन ब्रैकेट जोड़ता है फिर समापन ब्रैकेट जोड़ता है।
कॉनराट () फ़ंक्शन में स्ट्रिंग का भाग कॉमा का उपयोग करके अलग किया जाता है।
MySQL कार्यक्षेत्र में उपरोक्त स्क्रिप्ट को निष्पादित करने से निम्न परिणाम सेट का उत्पादन होता है।
कॉनैट (`शीर्षक`, '(',` निर्देशक`, ')') | year_released |
---|---|
कैरिबियन 4 के डाकू (रोब मार्शल) | 2011 |
सारा मार्शल (निकोलस स्टोलर) को भूल जाना | 2008 |
शून्य | 2008 |
कोड नाम काला (एडगर जिम्ज़) | 2010 |
शून्य | 2007 |
शून्य | 2007 |
शून्य | 2007 |
हनी मूनर्स (जॉन शुल्त्स) | 2005 |
शून्य | 2012 |
उपनाम क्षेत्र के नाम
उपर्युक्त उदाहरण ने हमारे परिणामों के क्षेत्र नाम के रूप में संघटन कोड लौटा दिया। मान लीजिए कि हम अपने परिणाम सेट में अधिक वर्णनात्मक फ़ील्ड नाम का उपयोग करना चाहते हैं। हम उस लक्ष्य को प्राप्त करने के लिए स्तंभ उपनाम का उपयोग करेंगे। स्तंभ उपनाम नाम के लिए मूल सिंटैक्स निम्न है
SELECT `column_name|value|expression` [AS] `alias_name`;
यहां
- "सेलेक्ट` कॉलम_नाम | वैल्यू | एक्सप्रेशन `" रेगुलर सेलेक्ट स्टेटमेंट है जो कॉलम नाम, वैल्यू या एक्सप्रेशन हो सकता है।
- "ए एस]" उपनाम नाम से पहले वैकल्पिक कीवर्ड है जो अभिव्यक्ति को दर्शाता है, मान या फ़ील्ड नाम के रूप में लौटाया जाएगा।
- "` alias_name` " उपनाम नाम है जिसे हम अपने परिणाम में फ़ील्ड नाम के रूप में सेट करना चाहते हैं।
एक अधिक सार्थक स्तंभ नाम के साथ उपरोक्त क्वेरी
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
हमें निम्न परिणाम मिलते हैं
concat | year_released |
---|---|
कैरिबियन 4 के डाकू (रोब मार्शल) | 2011 |
सारा मार्शल (निकोलस स्टोलर) को भूल जाना | 2008 |
शून्य | 2008 |
कोड नाम काला (एडगर जिम्ज़) | 2010 |
शून्य | 2007 |
शून्य | 2007 |
शून्य | 2007 |
हनी मूनर्स (जॉन शुल्त्स) | 2005 |
शून्य | 2012 |
जन्म के वर्ष को दर्शाने वाले सदस्यों की सूची प्राप्त करना
मान लें कि हम सदस्यता संख्या, पूर्ण नाम और जन्म के वर्ष को दर्शाने वाले सभी सदस्यों की एक सूची प्राप्त करना चाहते हैं, तो हम जन्म क्षेत्र की तारीख से जन्म का वर्ष निकालने के लिए LEFT स्ट्रिंग फ़ंक्शन का उपयोग कर सकते हैं। नीचे दी गई स्क्रिप्ट हमें ऐसा करने में मदद करती है।
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
यहां
- "वाम (` date_of_birth`, 4) " वाम स्ट्रिंग समारोह पैरामीटर के रूप में जन्म तिथि स्वीकार करता है और केवल बाएं से 4 अक्षर देता है।
- "जैसा` year_of_birth` " है स्तंभ अन्य नाम है कि हमारे परिणाम में लौटा दी जाएगी। ध्यान दें कि एएस कीवर्ड वैकल्पिक है , आप इसे छोड़ सकते हैं और क्वेरी अभी भी काम करेगी।
Myflixdb के खिलाफ MySQL कार्यक्षेत्र में उपरोक्त क्वेरी को निष्पादित करने से हमें नीचे दिखाए गए परिणाम मिलते हैं।
सदस्यता संख्या | पूरे नाम | जन्म का साल |
---|---|---|
1 | जेनेट जोन्स | 1980 |
२ | जेनेट स्मिथ जोन्स | 1980 |
३ | रॉबर्ट फिल | 1989 |
४ | ग्लोरिया विलियम्स | 1984 |
MySQL कार्यक्षेत्र का उपयोग करते हुए एसक्यूएल
अब हम स्क्रिप्ट को उत्पन्न करने के लिए MySQL कार्यक्षेत्र का उपयोग करने जा रहे हैं जो हमारी श्रेणियों की तालिका से सभी फ़ील्ड नामों को प्रदर्शित करेगा।
1. श्रेणियाँ तालिका पर राइट क्लिक करें। "Select Rows - Limit 1000" पर क्लिक करें
2. MySQL कार्यक्षेत्र स्वचालित रूप से संपादक में एक SQL क्वेरी और पेस्ट बना देगा।
3. क्वेरी परिणाम शो होंगे
ध्यान दें कि हमने स्वयं सेलेक्ट स्टेटमेंट नहीं लिखा था। MySQL कार्यक्षेत्र ने इसे हमारे लिए उत्पन्न किया।
जब हम MySQL कार्यक्षेत्र का चयन करें तो SQL कमांड का उपयोग क्यों करें?
अब, आप सोच रहे होंगे कि डेटाबेस से डेटा को क्वेरी करने के लिए SQL SELECT कमांड क्यों सीखें जब आप बस SQL भाषा के ज्ञान के बिना ही परिणाम प्राप्त करने के लिए MySQL कार्यक्षेत्र जैसे टूल का उपयोग कर सकते हैं। बेशक, यह संभव है, लेकिन सिलेक्ट कमांड का उपयोग करना सीखना आपके SQL SELECT स्टेटमेंट पर अधिक लचीलापन और नियंत्रण देता है ।
MySQL कार्यक्षेत्र " उदाहरण द्वारा प्रश्न " QBE उपकरण की श्रेणी में आता है । उपयोगकर्ता उत्पादकता बढ़ाने के लिए SQL कथन को तेज़ी से उत्पन्न करने में सहायता करना इसका उद्देश्य है।
SQL SELECT कमांड सीखने से आप जटिल क्वेरी बना सकते हैं, जो कि MySQL कार्यक्षेत्र जैसे उदाहरण उपयोगिताओं द्वारा क्वेरी का उपयोग करके आसानी से उत्पन्न नहीं किया जा सकता है।
उत्पादकता में सुधार के लिए आप MySQL कार्यक्षेत्र का उपयोग करके कोड उत्पन्न कर सकते हैं फिर अपनी आवश्यकताओं को पूरा करने के लिए इसे अनुकूलित कर सकते हैं । यह केवल तभी हो सकता है जब आप समझते हैं कि एसक्यूएल स्टेटमेंट कैसे काम करता है!
सारांश
- SQL SELECT कीवर्ड का उपयोग डेटाबेस से डेटा को क्वेरी करने के लिए किया जाता है और यह सबसे अधिक इस्तेमाल किया जाने वाला कमांड है।
- सबसे सरल रूप में वाक्य रचना है "तालिका से नाम का चयन करें";
- अभिव्यक्तियों का चयन विवरण में भी किया जा सकता है। उदाहरण "बिक्री से मात्रा + मूल्य चुनें"
- SQL SELECT कमांड में अन्य वैकल्पिक पैरामीटर भी हो सकते हैं जैसे कि WHERE, GROUP BY, HAVING, ORDER BY। उनकी चर्चा बाद में की जाएगी।
- MySQL कार्यक्षेत्र SQL स्टेटमेंट को विकसित करने, उन्हें निष्पादित करने और एक ही विंडो में आउटपुट परिणाम का उत्पादन करने में मदद कर सकता है।