MySQL उदाहरण सहित SELECT कथन
SELECT क्वेरी क्या है? MySQL?
SELECT QUERY का उपयोग डेटा लाने के लिए किया जाता है MySQL डेटाबेस। डेटाबेस बाद में पुनः प्राप्ति के लिए डेटा संग्रहीत करते हैं। MySQL Select का मतलब है डेटाबेस टेबल से एक या उससे ज़्यादा पंक्तियाँ लौटाना जो किसी दिए गए मानदंड से मेल खाती हों। Select क्वेरी का इस्तेमाल PHP, Ruby जैसी स्क्रिप्टिंग भाषा में किया जा सकता है या आप इसे कमांड प्रॉम्प्ट के ज़रिए निष्पादित कर सकते हैं।
SQL SELECT कथन सिंटैक्स
यह सबसे अधिक बार उपयोग किया जाने वाला SQL कमांड है और इसका सामान्य सिंटैक्स निम्नलिखित है
SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
यहाँ
- चुनते हैं SQL कीवर्ड है जो डेटाबेस को यह बताता है कि आप डेटा पुनर्प्राप्त करना चाहते हैं।
- [अलग-अलग | सभी] वैकल्पिक कीवर्ड हैं जिनका उपयोग SQL SELECT कथन से लौटाए गए परिणामों को ठीक करने के लिए किया जा सकता है। यदि कुछ भी निर्दिष्ट नहीं है तो ALL को डिफ़ॉल्ट के रूप में माना जाता है।
- {*| [फ़ील्डएक्सप्रेशन [AS newName]} कम से कम एक भाग निर्दिष्ट किया जाना चाहिए, “*” निर्दिष्ट तालिका नाम से सभी फ़ील्ड का चयन करता है, फ़ील्डएक्सप्रेशन निर्दिष्ट फ़ील्ड पर कुछ गणना करता है जैसे संख्याओं को जोड़ना या दो स्ट्रिंग फ़ील्ड को एक में रखना।
- से tableName अनिवार्य है और इसमें कम से कम एक तालिका अवश्य होनी चाहिए, एकाधिक तालिकाओं को अल्पविराम का उपयोग करके अलग किया जाना चाहिए या JOIN कीवर्ड का उपयोग करके जोड़ा जाना चाहिए।
- कहां शर्त वैकल्पिक है, इसका उपयोग क्वेरी से लौटे परिणाम सेट में मानदंड निर्दिष्ट करने के लिए किया जा सकता है।
- समूह द्वारा इसका उपयोग समान फ़ील्ड मान वाले रिकॉर्ड को एक साथ रखने के लिए किया जाता है।
- होने GROUP BY कीवर्ड का उपयोग करते समय शर्त का उपयोग मानदंड निर्दिष्ट करने के लिए किया जाता है।
- द्वारा आदेश परिणाम सेट के सॉर्ट क्रम को निर्दिष्ट करने के लिए उपयोग किया जाता है।
*
स्टार प्रतीक का उपयोग तालिका में सभी स्तंभों का चयन करने के लिए किया जाता है। सरल SELECT कथन का एक उदाहरण नीचे दिखाए गए जैसा दिखता है।
SELECT * FROM `members`;
उपरोक्त कथन सदस्य तालिका से सभी फ़ील्ड का चयन करता है। अर्धविराम एक कथन समाप्ति है। यह अनिवार्य नहीं है, लेकिन इस तरह से अपने कथन को समाप्त करना एक अच्छा अभ्यास माना जाता है।
व्यावहारिक उदाहरण
डाउनलोड करने के लिए क्लिक करें व्यावहारिक उदाहरण के लिए myflix DB का उपयोग किया गया।
आप .sql फ़ाइल को आयात करना सीख सकते हैं MySQL कार्यक्षेत्र
उदाहरण निम्नलिखित दो तालिकाओं पर प्रदर्शित किए गए हैं
टेबल 1: सदस्य तालिका
सदस्यता_ संख्या | पूरे नाम | लिंग | जन्म_तिथि | भौतिक_ पता | डाक का पता | संपर्क_नंबर | ईमेल |
---|---|---|---|---|---|---|---|
1 | जेनेट जोन्स | महिला | 21-07-1980 | फर्स्ट स्ट्रीट प्लॉट नं 4 | निजी बैग | 0759 253 542 | janetjones@yagoo.cm |
2 | जेनेट स्मिथ जोन्स | महिला | 23-06-1980 | मेलरोज़ 123 | नल | नल | jj@fstreet.com |
3 | रॉबर्ट फिल | नर | 12-07-1989 | तीसरी स्ट्रीट 3 | नल | 12345 | rm@tstreet.com |
4 | ग्लोरिया विलियम्स | महिला | 14-02-1984 | 2nd स्ट्रीट 23 | नल | नल | नल |
टेबल 2: फिल्में तालिका
मूवी_आईडी | शीर्षक | निदेशक | वर्ष_रिलीज़ | श्रेणी_आईडी |
---|---|---|---|---|
1 | कैरिबियन के समुद्री डाकू 4 | रॉब मार्शल | 2011 | 1 |
2 | सारा मार्शल को भूलना | निकोलस Stoller | 2008 | 2 |
3 | एक्स पुरुष | नल | 2008 | नल |
4 | कोड नाम ब्लैक | एडगर जिम्ज़ | 2010 | नल |
5 | डैडीज लिटिल गर्ल्स | नल | 2007 | 8 |
6 | स्वर्गदूत और राक्षस | नल | 2007 | 6 |
7 | दाविंची कोड | नल | 2007 | 6 |
9 | Honey चाँदनी | जॉन शुल्त्ज़ | 2005 | 8 |
16 | 67% दोषी | नल | 2012 | नल |
सदस्यों की सूची प्राप्त करना
मान लीजिए कि हम अपने डेटाबेस से सभी पंजीकृत लाइब्रेरी सदस्यों की सूची प्राप्त करना चाहते हैं, तो ऐसा करने के लिए हम नीचे दी गई स्क्रिप्ट का उपयोग करेंगे।
SELECT * FROM `members`;
उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL कार्यक्षेत्र निम्नलिखित परिणाम उत्पन्न करता है।
सदस्यता_ संख्या | पूरे नाम | लिंग | जन्म_तिथि | भौतिक_ पता | डाक का पता | संपर्क_नंबर | ईमेल |
---|---|---|---|---|---|---|---|
1 | जेनेट जोन्स | महिला | 21-07-1980 | फर्स्ट स्ट्रीट प्लॉट नं 4 | निजी बैग | 0759 253 542 | janetjones@yagoo.cm |
2 | जेनेट स्मिथ जोन्स | महिला | 23-06-1980 | मेलरोज़ 123 | नल | नल | jj@fstreet.com |
3 | रॉबर्ट फिल | नर | 12-07-1989 | तीसरी स्ट्रीट 3 | नल | 12345 | rm@tstreet.com |
4 | ग्लोरिया विलियम्स | महिला | 14-02-1984 | 2nd स्ट्रीट 23 | नल | नल | नल |
हमारी उपरोक्त क्वेरी ने सदस्य तालिका से सभी पंक्तियाँ और कॉलम लौटा दिए हैं।
मान लीजिए कि हम केवल full_names, gender, physical_address और email फ़ील्ड प्राप्त करने में रुचि रखते हैं। निम्नलिखित स्क्रिप्ट हमें इसे प्राप्त करने में मदद करेगी।
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL कार्यक्षेत्र निम्नलिखित परिणाम उत्पन्न करता है।
पूरे नाम | लिंग | भौतिक_पता | ईमेल |
---|---|---|---|
जेनेट जोन्स | महिला | फर्स्ट स्ट्रीट प्लॉट नं 4 | janetjones@yagoo.cm |
जेनेट स्मिथ जोन्स | महिला | मेलरोज़ 123 | jj@fstreet.com |
रॉबर्ट फिल | नर | तीसरी स्ट्रीट 3 | rm@tstreet.com |
ग्लोरिया विलियम्स | महिला | 2nd स्ट्रीट 23 | नल |
फिल्में सूचीबद्ध करना
याद रखें कि हमने ऊपर की चर्चा में उल्लेख किया है कि SELECT कथनों में अभिव्यक्तियों का उपयोग किया गया है। मान लीजिए कि हम अपने डेटाबेस से मूवी की सूची प्राप्त करना चाहते हैं। हम मूवी का शीर्षक और मूवी निर्देशक का नाम एक फ़ील्ड में रखना चाहते हैं। मूवी निर्देशक का नाम कोष्ठक में होना चाहिए। हम मूवी के रिलीज़ होने का वर्ष भी प्राप्त करना चाहते हैं। निम्न स्क्रिप्ट हमें ऐसा करने में मदद करती है।
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
यहाँ
- कॉनकैट () MySQL फ़ंक्शन का उपयोग कॉलम मानों को एक साथ जोड़ने के लिए किया जाता है।
- पंक्ति "Concat (`title`, ' (', `director`, ')') शीर्षक प्राप्त करती है, एक प्रारंभिक कोष्ठक जोड़ती है, उसके बाद निर्देशक का नाम और फिर समापन कोष्ठक जोड़ती है।
Concat () फ़ंक्शन में स्ट्रिंग भागों को अल्पविराम का उपयोग करके अलग किया जाता है।
उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL कार्यक्षेत्र निम्नलिखित परिणाम सेट उत्पन्न करता है।
Concat(`शीर्षक`, ' (', `निर्देशक`, ')') | वर्ष_रिलीज़ |
---|---|
पाइरेट्स ऑफ द कैरेबियन 4 (रॉब मार्शल) | 2011 |
फॉरगेटिंग सारा मार्शल (निकोलस स्टोलर) | 2008 |
नल | 2008 |
कोड नेम ब्लैक (एडगर जिम्ज़) | 2010 |
नल | 2007 |
नल | 2007 |
नल | 2007 |
Honey मूनर्स (जॉन शुल्ट्ज़) | 2005 |
नल | 2012 |
उपनाम क्षेत्र नाम
उपरोक्त उदाहरण ने हमारे परिणामों के लिए फ़ील्ड नाम के रूप में कॉन्कैटनेशन कोड लौटाया। मान लीजिए कि हम अपने परिणाम सेट में अधिक वर्णनात्मक फ़ील्ड नाम का उपयोग करना चाहते हैं। हम इसे प्राप्त करने के लिए कॉलम उपनाम नाम का उपयोग करेंगे। कॉलम उपनाम नाम के लिए मूल सिंटैक्स निम्नलिखित है
SELECT `column_name|value|expression` [AS] `alias_name`;
यहाँ
- “चयन करें ` column_name|value|expression`” नियमित SELECT कथन है जो स्तंभ नाम, मान या अभिव्यक्ति हो सकता है।
- "[जैसा]" उपनाम नाम से पहले वैकल्पिक कीवर्ड है जो दर्शाता है कि अभिव्यक्ति, मान या फ़ील्ड नाम किस रूप में लौटाया जाएगा।
- “`उपनाम_नाम`” वह उपनाम नाम है जिसे हम अपने परिणाम सेट में फ़ील्ड नाम के रूप में लौटाना चाहते हैं।
उपरोक्त क्वेरी अधिक सार्थक कॉलम नाम के साथ
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
हमें निम्नलिखित परिणाम मिलता है
concat | वर्ष_रिलीज़ |
---|---|
पाइरेट्स ऑफ द कैरेबियन 4 (रॉब मार्शल) | 2011 |
फॉरगेटिंग सारा मार्शल (निकोलस स्टोलर) | 2008 |
नल | 2008 |
कोड नेम ब्लैक (एडगर जिम्ज़) | 2010 |
नल | 2007 |
नल | 2007 |
नल | 2007 |
Honey मूनर्स (जॉन शुल्ट्ज़) | 2005 |
नल | 2012 |
जन्म वर्ष दर्शाने वाली सदस्यों की सूची प्राप्त करना
मान लीजिए कि हम सभी सदस्यों की सूची प्राप्त करना चाहते हैं जिसमें सदस्यता संख्या, पूरा नाम और जन्म का वर्ष शामिल हो, तो हम जन्म तिथि फ़ील्ड से जन्म वर्ष निकालने के लिए LEFT स्ट्रिंग फ़ंक्शन का उपयोग कर सकते हैं। नीचे दी गई स्क्रिप्ट हमें ऐसा करने में मदद करती है।
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
यहाँ
- “बाएं(`जन्म_तिथि`,4)” la बायाँ स्ट्रिंग फ़ंक्शन जन्म तिथि को पैरामीटर के रूप में स्वीकार करता है और बाईं ओर से केवल 4 अक्षर लौटाता है।
- “AS `year_of_birth`” विश्व का सबसे लोकप्रिय एंव स्तंभ उपनाम नाम जो हमारे परिणामों में वापस आ जाएगा। ध्यान दें AS कीवर्ड वैकल्पिक है, आप इसे छोड़ सकते हैं और क्वेरी अभी भी काम करेगी।
उपरोक्त क्वेरी को निष्पादित करना MySQL वर्कबेंच को मायफ्लिक्सडीबी के विरुद्ध चलाने से हमें नीचे दिखाए गए परिणाम मिलते हैं।
सदस्यता_संख्या | पूरे नाम | जन्म का साल |
---|---|---|
1 | जेनेट जोन्स | 1980 |
2 | जेनेट स्मिथ जोन्स | 1980 |
3 | रॉबर्ट फिल | 1989 |
4 | ग्लोरिया विलियम्स | 1984 |
SQL का उपयोग MySQL कार्यक्षेत्र
अब हम इसका प्रयोग करने जा रहे हैं MySQL वर्कबेंच पर स्क्रिप्ट तैयार करें जो हमारी श्रेणियों की तालिका से सभी फ़ील्ड नाम प्रदर्शित करेगी।
1. कैटेगरी टेबल पर राइट क्लिक करें। “Select Rows – Limit 1000” पर क्लिक करें
2. MySQL वर्कबेंच स्वचालित रूप से एक SQL क्वेरी बनाएगा और संपादक में पेस्ट करेगा।
3. क्वेरी परिणाम दिखाए जाएंगे
ध्यान दें कि हमने SELECT कथन स्वयं नहीं लिखा है। MySQL वर्कबेंच ने इसे हमारे लिए तैयार किया।
जब हमारे पास है तो SELECT SQL कमांड का उपयोग क्यों करें? MySQL कार्यक्षेत्र?
अब, आप सोच रहे होंगे कि डेटाबेस से डेटा क्वेरी करने के लिए SQL SELECT कमांड क्यों सीखें, जब आप आसानी से एक टूल का उपयोग कर सकते हैं जैसे MySQL SQL भाषा के ज्ञान के बिना भी वर्कबेंच का उपयोग करके वही परिणाम प्राप्त करना संभव है। बेशक यह संभव है, लेकिन SELECT कमांड का उपयोग करना सीखना आपको अधिक देता है लचीलापन और नियंत्रण अपने ऊपर SQL चयन कथन.
MySQL कार्यक्षेत्र " की श्रेणी में आता हैउदाहरण द्वारा प्रश्न” QBE उपकरण। इसका उद्देश्य उपयोगकर्ता उत्पादकता बढ़ाने के लिए SQL कथनों को तेज़ी से उत्पन्न करने में मदद करना है।
SQL SELECT कमांड सीखने से आप निम्न कार्य कर सकेंगे: जटिल प्रश्न जिसे उदाहरण उपयोगिताओं द्वारा क्वेरी का उपयोग करके आसानी से उत्पन्न नहीं किया जा सकता है जैसे MySQL कार्यक्षेत्र
उत्पादकता में सुधार करने के लिए आप यह कर सकते हैं कोड का उपयोग कर उत्पन्न करें MySQL कार्यक्षेत्र फिर अनुकूलित यह करने के लिए अपनी आवश्यकताओं को पूरा करेंयह तभी संभव है जब आप समझें कि SQL स्टेटमेंट कैसे काम करता है!
सारांश
- SQL SELECT कीवर्ड का उपयोग डेटाबेस से डेटा क्वेरी करने के लिए किया जाता है और यह सबसे अधिक इस्तेमाल किया जाने वाला कमांड है।
- सबसे सरल रूप का सिंटैक्स है “SELECT * FROM tableName;”
- अभिव्यक्तियों का उपयोग चयन कथन में भी किया जा सकता है। उदाहरण “बिक्री से मात्रा + मूल्य का चयन करें”
- SQL SELECT कमांड में अन्य वैकल्पिक पैरामीटर भी हो सकते हैं जैसे WHERE, GROUP BY, HAVING, ORDER BY. इन पर बाद में चर्चा की जाएगी।
- MySQL वर्कबेंच SQL स्टेटमेंट्स को विकसित करने, उन्हें निष्पादित करने और उसी विंडो में आउटपुट परिणाम उत्पन्न करने में मदद कर सकता है।