एसक्यूएल सर्वर ट्यूटोरियल - मास्टर-एसक्यूएल के लिए आपको जो कुछ भी चाहिए वह है



SQL सर्वर ट्यूटोरियल का यह लेख MS SQL सर्वर में प्रयुक्त विभिन्न अवधारणाओं, वाक्यविन्यास और आदेशों पर एक व्यापक मार्गदर्शिका है।

आज के बाजार में, जहाँ हर दिन एक मामूली मात्रा में डेटा प्राप्त होता है, यह समझना बहुत ज़रूरी है कि डेटा को कैसे संभालना है। एसक्यूएल सर्वर डेटा को संभालने के लिए माइक्रोसॉफ्ट द्वारा विकसित एक एकीकृत वातावरण है।SQL सर्वर ट्यूटोरियल पर इस लेख में, आप अपने डेटाबेस का पता लगाने के लिए आवश्यक सभी ऑपरेशन और कमांड सीख रहे होंगे।

आपकी बेहतर समझ के लिए, मैंने ब्लॉग को निम्नलिखित श्रेणियों में विभाजित किया है:





आज्ञा देता है विवरण

डेटा परिभाषा भाषा आदेश (DDL)

डेटाबेस को परिभाषित करने के लिए कमांड के इस सेट का उपयोग किया जाता है।

डेटा हेरफेर भाषा आदेश (DML)



हेरफेर कमांड का उपयोग डेटाबेस में मौजूद डेटा को हेरफेर करने के लिए किया जाता है।

डेटा नियंत्रण भाषा आदेश (DCL)

आदेशों का यह सेट डेटाबेस सिस्टम की अनुमतियों, अधिकारों और अन्य नियंत्रणों से निपटता है।

लेनदेन नियंत्रण भाषा कमांड (TCL)

इन कमांड का उपयोग किया जाता है डेटाबेस के लेनदेन से निपटें।

कमांड के अलावा, इस विषय में निम्नलिखित विषय शामिल हैं:



MS SQL Server - SQL सर्वर ट्यूटोरियल - एडुर्का

  1. SQL Server क्या है?
  2. SQL सर्वर स्थापित करें
  3. SSMS का उपयोग कर SQL सर्वर से कनेक्ट करें
  4. डेटाबेस इंजन तक पहुँचें
  5. SQL सर्वर आर्किटेक्चर
  6. SQL में टिप्पणियाँ
  7. SQL सर्वर डेटा प्रकार
  8. डेटाबेस में कुंजी
  9. डेटाबेस में बाधाएं
  10. संचालक
  11. अलग कार्य
  12. उपयोगकर्ता-परिभाषित कार्य
  13. नेस्टेड क्वेरीज़
  14. जुड़ता है
  15. लूप्स
  16. संग्रहित प्रक्रियाएं
  17. एक्सेप्शन हेंडलिंग

***ध्यान दें*** इस SQL ​​सर्वर ट्यूटोरियल में, मैं नीचे दिए गए डेटाबेस पर विचार करने जा रहा हूंएक उदाहरण, आपको यह दिखाने के लिए कि कैसे सीखना और लिखना हैआज्ञा देता है।

छात्र आईडी छात्र का नाम अभिभावक का नाम फ़ोन नंबर पता Faridabad देश
एकमुझे नफरत हैAkriti Mehra9955339966ब्रिगेड रोड ब्लॉक 9हैदराबादभारत
मानसाShourya Sharma9234568762मेयो रोड 15कोलकाताभारत
अनयSoumya Mishra9876914261 हैमराठल्ली हाउस नंबर 101बेंगलुरुभारत
PreetiRohan Sinha9765432234क्वींस रोड 40दिल्लीभारत
ShanayaAbhinay Agarwal9878969068 हैओबेरॉय स्ट्रीट 21मुंबईभारत

इससे पहले कि हम SQL सर्वर में प्रयुक्त विभिन्न कमांड को समझना शुरू करें, आइए समझते हैं कि SQL सर्वर, इसकी वास्तुकला और इसे कैसे स्थापित किया जाए।

SQL Server क्या है?

Microsoft SQL सर्वर एक रिलेशनल है डेटाबेस प्रबंधन प्रणाली । यह समर्थन करता है स्ट्रक्चर्ड क्वेरी लैंग्वेज और SQL भाषा के अपने कार्यान्वयन के साथ आता है जो है Transact-SQL (T-SQL) । इसमें SQL डेटाबेस को संभालने के लिए एक एकीकृत वातावरण है, जो है ।

SQL सर्वर के प्रमुख घटक इस प्रकार हैं:

  • डेटाबेस इंजन: यह घटक भंडारण, तेजी से लेनदेन प्रसंस्करण और सुरक्षित डेटा को संभालता है।
  • एस क्यू एल सर्वर - इस सेवा का उपयोग एमएस SQL ​​सर्वर के उदाहरण को शुरू करने, रोकने, रोकने और जारी रखने के लिए किया जाता है।
  • SQL सर्वर एजेंट - सर्वर एजेंट सेवा कार्य अनुसूचक की भूमिका निभाती है और किसी भी घटना या आवश्यकता के अनुसार चालू हो जाती है।
  • SQL सर्वर ब्राउज़र - इस सेवा का उपयोग वांछित SQL सर्वर आवृत्ति के लिए आने वाले अनुरोध को जोड़ने के लिए किया जाता है।
  • SQL सर्वर पूर्ण-पाठ खोज - उपयोगकर्ता को SQL टेबल में वर्ण डेटा के खिलाफ पूर्ण-पाठ क्वेरी चलाने के लिए उपयोग किया जाता है।
  • SQL सर्वर VSS लेखक - SQL सर्वर के न चलने पर डेटा फ़ाइलों के बैकअप और बहाली की अनुमति देता है।
  • SQL सर्वर विश्लेषण सेवाएँ (SSAS) - इस सेवा का उपयोग डेटा विश्लेषण, डेटा खनन और प्रदान करने के लिए किया जाता है क्षमताएं। SQL सर्वर के साथ भी एकीकृत है तथा आर उन्नत डेटा विश्लेषिकी के लिए।
  • SQL सर्वर रिपोर्टिंग सेवा (SSRS) - जैसा कि नाम से पता चलता है, इस सेवा का उपयोग सुविधाओं और निर्णय लेने की क्षमताओं के साथ एकीकरण सहित प्रदान करने के लिए किया जाता है ।
  • SQL सर्वर एकीकरण सेवाएँ (SSIS) - इस सेवा का उपयोग डेटा के कई स्रोतों से विभिन्न प्रकार के डेटा के लिए ईटीएल संचालन करने के लिए किया जाता है।

अब, जब आप जानते हैं कि एमएस SQL ​​सर्वर क्या है, तो हम SQL सर्वर ट्यूटोरियल पर इस लेख में आगे बढ़ते हैं और समझते हैं कि SQL सर्वर को कैसे स्थापित और सेटअप करना है।

SQL सर्वर स्थापित करें

SQL सर्वर स्थापित करने के लिए नीचे दिए गए चरणों का पालन करें:

स्टेप 1: के आधिकारिक पेज पर जाएं Microsoft SQL सर्वर डाउनलोड , जहां आपको SQL सर्वर को ऑन-प्रिमाइसेस या क्लाउड पर इंस्टॉल करने का विकल्प मिलेगा।

चरण 2: अब, नीचे स्क्रॉल करें और आपको दो विकल्प दिखाई देंगे: डेवलपर और एंटरप्राइज़ संस्करण । यहाँ, मैं डाउनलोड किया जाएगा डेवलपर संस्करण । डाउनलोड करने के लिए, आपको बस क्लिक करना होगा अभी डाउनलोड करें विकल्प। नीचे देखें।

चरण 3: एप्लिकेशन डाउनलोड होने के बाद, फ़ाइल पर डबल क्लिक करें और आपको निम्न विंडो दिखाई देगी।

चरण 4: अब, आप SQL सर्वर सेटअप करने के लिए 3 विकल्पों में से किसी एक को चुन सकते हैं। यहाँ, मैं अभी चुनूँगा मूल विकल्प । स्थापना प्रकार के विकल्प का चयन करने पर, अगली स्क्रीन लाइसेंस समझौते को स्वीकार करने के लिए होगी। ऐसा करने के लिए, पर क्लिक करें स्वीकार करना निम्नलिखित विंडो में।

चरण 5: अगला, आपको SQL सर्वर स्थापना स्थान निर्दिष्ट करना होगा। फिर, आपको इंस्टॉल पर क्लिक करना होगा।

एक बार जब आप पर क्लिक करें इंस्टॉल , आप देखेंगे कि आवश्यक पैकेज डाउनलोड हो रहे हैं। अब स्थापना पूर्ण होने के बाद, आप निम्न स्क्रीन देखेंगे:

यहां, आप या तो आगे बढ़ सकते हैं और कनेक्ट नाउ पर क्लिक कर सकते हैं, या आप इंस्टॉलेशन को कस्टमाइज़ कर सकते हैं। आपकी बेहतर समझ के लिए, मैं आगे जाकर चुनूंगा अनुकूलित करें।

चरण 6: एक बार जब आप पर क्लिक करें अनुकूलित करें उपरोक्त विंडो में, आप निम्न विज़ार्ड खोलते हुए देखेंगे। निम्नलिखित विंडो में, पर क्लिक करें अगला।

चरण 7: नियम स्वचालित रूप से स्थापित होने के बाद, पर क्लिक करें अगला । नीचे देखें।

चरण 8: अगला, आपको स्थापना प्रकार चुनना होगा। इसलिए, चुनें प्रदर्शन करें SQL सर्वर 2017 की नई स्थापना विकल्प और फिर पर क्लिक करें अगला।

चरण 9: खुलने वाले विज़ार्ड में, संस्करण चुनें: डेवलपर। फिर, पर क्लिक करें अगला । नीचे देखें।

चरण 10: अब, चेक-इन रेडियो बटन द्वारा लाइसेंस समझौतों को पढ़ें और स्वीकार करें और फिर क्लिक करें अगला । नीचे देखें।

चरण 11: नीचे दिए गए विज़ार्ड में आप उन सुविधाओं को चुन सकते हैं जिन्हें आप इंस्टॉल करना चाहते हैं। इसके अलावा, आप इंस्टेंस रूट डायरेक्टरी चुन सकते हैं और फिर क्लिक करें अगला । यहां, मैं चुनूंगा डेटाबेस इंजन सेवाएँ

चरण 12: अगला आपको इंस्टेंस का नाम देना होगा, और स्वचालित रूप से इंस्टेंस आईडी बन जाएगी। यहां, मैं 'edureka' उदाहरण का नाम दूंगा। फिर, पर क्लिक करें अगला।

चरण 13: सर्वर कॉन्फ़िगरेशन विज़ार्ड में, पर क्लिक करें अगला

चरण 14: अब, आपको प्रमाणीकरण मोड को सक्षम करना होगा। यहां, आप देखेंगे विंडोज प्रमाणीकरण मोड तथा मिश्रित मोड । मैं मिक्स्ड मोड चुनूंगा। फिर, पासवर्ड का उल्लेख करें और फिर मैं वर्तमान उपयोगकर्ता को इस रूप में जोड़ दूंगा व्यवस्थापक चुनकर वर्तमान उपयोगकर्ता जोड़ें विकल्प।

चरण 15: फिर, कॉन्फ़िगरेशन फ़ाइल पथ चुनें और क्लिक करें इंस्टॉल

स्थापना पूर्ण होने के बाद, आप निम्न स्क्रीन देखेंगे:

SSMS का उपयोग कर SQL सर्वर से कनेक्ट करें

SQL सर्वर स्थापित होने के बाद, आपका अगला कदम SQL सर्वर को SQL सर्वर प्रबंधन स्टूडियो से जोड़ना है। नीचे दिए गए चरणों का पालन करने के लिए:

स्टेप 1: निम्न विंडो पर वापस जाएं, और पर क्लिक करें SSMS स्थापित करें विकल्प।

चरण 2: एक बार जब आप उस विकल्प पर क्लिक करते हैं, तो आपको इसे पुनः निर्देशित किया जाएगा निम्नलिखित पृष्ठ , जहां आपको चुनना है SSMS डाउनलोड करें।

चरण 3: सेटअप डाउनलोड हो जाने के बाद, एप्लिकेशन पर डबल-क्लिक करें और आपको निम्नलिखित विज़ार्ड खुलते हुए दिखाई देगा।

चरण 4: पर क्लिक करें विकल्प स्थापित करें , उपरोक्त विंडो में और आप देखेंगे कि स्थापना शुरू हो जाएगी।

चरण 5: इंस्टॉलेशन पूरा होने के बाद आपको एक डायलॉग बॉक्स मिलेगा जैसा कि नीचे दिखाया गया है।

SSMS को स्थापित करने के बाद, अगला चरण एक्सेस करना है डेटाबेस इंजन

डेटाबेस इंजन तक पहुँचने

जब आप खोलते हैं SQL सर्वर प्रबंधन स्टूडियो वहाँ से शुरुआत की सूची , नीचे दी गई तस्वीर में दिखाए गए विंडो के समान एक विंडो खुल जाएगी।

यहां, सर्वर नाम, प्रमाणीकरण मोड का उल्लेख करें और पर क्लिक करें जुडिये।

आप पर क्लिक करने के बाद जुडिये , आप निम्न स्क्रीन देखेंगे।

वैसे लोग, यानी आप SQL सर्वर को कैसे स्थापित और सेटअप करते हैं। अब, इस SQL ​​सर्वर ट्यूटोरियल में आगे बढ़ते हुए, आइए SQL सर्वर की वास्तुकला के विभिन्न घटकों को समझते हैं।

SQL सर्वर आर्किटेक्चर

SQL सर्वर का आर्किटेक्चर इस प्रकार है:

  • सर्वर & minus; यह वह जगह है जहाँ SQL सेवाएँ स्थापित हैं और डेटाबेस रहता है
  • संबंधपरक इंजन & minus; क्वेरी पार्सर, अनुकूलक, और निष्पादक और निष्पादन संबंधित इंजन में होता है।
  • कमांड पार्सर & minus; क्वेरी का सिंटैक्स चेक करता है और क्वेरी को मशीन भाषा में रूपांतरित करता है।
  • ऑप्टिमाइज़र & minus; आंकड़े, क्वेरी और बीजगणित के पेड़ को इनपुट के रूप में लेते हुए निष्पादन योजना को आउटपुट के रूप में तैयार करता है।
  • क्वेरी एक्ज़ीक्यूटर & minus; यह वह स्थान है जहां प्रश्नों को चरणबद्ध तरीके से निष्पादित किया जाता है
  • भंडारण इंजन & minus; यह स्टोरेज सिस्टम पर डेटा के संग्रहण और पुनर्प्राप्ति, डेटा के हेरफेर, प्रबंधन और लॉकिंग लेनदेन के लिए जिम्मेदार है।

अब, जब आप जानते हैं कि SQL सर्वर और इसके विभिन्न घटकों को कैसे सेट अप और इंस्टॉल करना है, तो आइए हम लेखन के साथ आरंभ करें सर्वर। लेकिन, इससे पहले कि मैं कैसे SQL सर्वर में टिप्पणी लिखने के लिए कवर करते हैं।

SQL सर्वर में टिप्पणियाँ

ऐसे दो तरीके हैं जिनसे आप SQL में टिप्पणी कर सकते हैं, यानी या तो उपयोग करें एस अभद्र लाइन टिप्पणी या ulti- लाइन टिप्पणी

सिंगल-लाइन टिप्पणियाँ

सिंगल-लाइन टिप्पणियों के साथ शुरू होता है दो हाइफ़न (-)। इसलिए, (-) के बाद, एक पंक्ति के अंत तक उल्लिखित पाठ को संकलक द्वारा अनदेखा किया जाएगा।

उदाहरण:

- सिंगल लाइन टिप्पणियों का प्रदर्शन

मल्टी-लाइन टिप्पणियाँ

बहु-पंक्ति टिप्पणियाँ / * से शुरू होती हैं और समाप्त होती हैं * / । इसलिए, पाठ के बीच उल्लेख किया है / * तथा * / संकलक द्वारा नजरअंदाज कर दिया जाएगा।

उदाहरण:

/ * मल्टी-लाइन टिप्पणियों के लिए उदाहरण * /

अब SQL सर्वर ट्यूटोरियल के इस लेख में, आइए हम कमांड के पहले सेट यानी डेटा डेफिनिशन लैंग्वेज कमांड से शुरू करें।

डेटा परिभाषा भाषा आदेश

लेख का यह खंड आपको कमांड के बारे में एक विचार देगा जिसकी सहायता से आप अपने डेटाबेस को परिभाषित कर सकते हैं। आदेश इस प्रकार हैं:

सृजन करना

इस कथन का उपयोग तालिका, डेटाबेस या दृश्य बनाने के लिए किया जाता है।

‘स्टेट डटैब 'वक्तव्य

इस कथन का उपयोग डेटाबेस बनाने के लिए किया जाता है।

वाक्य - विन्यास

डेटाबेस डेटाबेस बनाएँ

उदाहरण

छात्रों को बनाएँ

तालिका बनाएं ' बयान

जैसा कि नाम से पता चलता है, इस कथन का उपयोग तालिका बनाने के लिए किया जाता है।

वाक्य - विन्यास

बनाएँ तालिका तालिका (कॉलम 1 डेटाटाइप, कॉलम 2 डेटाटाइप, कॉलम 3 डेटाटाइप, ... कॉलम कॉलम)

उदाहरण

क्रीएट टेबल स्टूडेंटइन्फो (स्टूडेंट इन्ट, स्टूडेंटनेम वैरचर (8000), पेरेंटनेम वैरचर (8000), फोननंबर इंट, एड्रेसोफुडेंट वर्चर (8000), सिटी वर्चर (8000), कंट्री वेरचर (8000)

DROP

इस कथन का उपयोग किसी मौजूदा तालिका, डेटाबेस या दृश्य को छोड़ने के लिए किया जाता है।

। DROP DATABASE का कथन

इस कथन का उपयोग मौजूदा डेटाबेस को गिराने के लिए किया जाता है। जैसे ही आप नीचे दिए गए कमांड को निष्पादित करते हैं, डेटाबेस में मौजूद पूरी जानकारी खो जाएगी।

वाक्य - विन्यास

ड्रॉपडाउन डेटाबेसनाम

उदाहरण

छात्रों को ड्रॉप करें

‘डीआरओपी टेबल 'विवरण

इस कथन का उपयोग मौजूदा तालिका को गिराने के लिए किया जाता है। नीचे दी गई कमांड को निष्पादित करते ही तालिका में मौजूद पूरी जानकारी खो जाएगी।

वाक्य - विन्यास

ड्रॉप टेबल टेबलनेम

उदाहरण

ड्रॉप टेबल छात्रइन्फो

आयु

ALTER कमांड का उपयोग मौजूदा तालिका में कॉलम या बाधाओं को जोड़ने, हटाने या संशोधित करने के लिए किया जाता है।

तालिका में परिवर्तन ' बयान

इस कथन का उपयोग पूर्व-मौजूदा तालिका में कॉलम जोड़ने, हटाने, संशोधित करने के लिए किया जाता है।

ADD / DROP COLUMN के साथ D ALTER TABLE 'स्टेटमेंट

किसी स्तंभ को जोड़ने और हटाने के लिए ADD / DROP कॉलम कमांड के साथ ALTER TABLE स्टेटमेंट का उपयोग किया जाता है।

वाक्य - विन्यास

अन्य तालिका सारणी ADD कॉलम पूर्व नाम डेटा तालिका में तालिका तालिका नाम ड्रा कॉलम नाम

उदाहरण

--ADD कॉलम ब्लडग्रुप: ALTER TABLE स्टूडेंटइन्फो ADD ब्लडग्रुप वर्चर (8000) --DROP कॉलम ब्लडग्रुप: ALTER TABLE StudentInfo DROP COLUMN ब्लडग्रुप

N ALTER TUB 'कथन के साथ ALTER COLUMN

किसी तालिका में किसी मौजूदा स्तंभ के डेटा प्रकार को बदलने के लिए ALTER कॉलम के साथ ALTER TABLE स्टेटमेंट का उपयोग किया जा सकता है।

वाक्य - विन्यास

अन्य तालिका तालिका का नाम स्तंभ कॉलम डेटाटाइप

उदाहरण

- एक कॉलम DOB जोड़ें और डेट से डेटटाइम तक डेटा प्रकार बदलें। अन्य टेबल छात्रइन्फो ADD DOB तारीख से पहले छात्र इनऑफ़्टर से पहले DOB डेटाइम

TRUNCATE

इस SQL ​​कमांड का उपयोग तालिका में मौजूद जानकारी को हटाने के लिए किया जाता है, लेकिन तालिका को स्वयं नहीं हटाता है। इसलिए, यदि आप तालिका में मौजूद जानकारी को हटाना चाहते हैं, और तालिका को स्वयं नहीं हटाना चाहते हैं, तो आपको TRUNCATE कमांड का उपयोग करना होगा। और, DROP कमांड का उपयोग करें।

वाक्य - विन्यास

ट्रिब्यूट टेबल टेबलनेम

उदाहरण

ट्रिब्यूट टेबल छात्रइन्फो

RENAME

इस कथन का उपयोग एक या अधिक तालिकाओं का नाम बदलने के लिए किया जाता है।

वाक्य - विन्यास

sp_rename 'OldTableName', 'NewTableName'

उदाहरण

sp_rename 'StudentInfo', 'Infostudents'

SQL सर्वर ट्यूटोरियल पर इस लेख में आगे बढ़ते हुए, हम SQL सर्वर द्वारा समर्थित विभिन्न डेटा प्रकारों को समझते हैं।

SQL सर्वर डेटा प्रकार

डेटा प्रकार श्रेणी डेटा प्रकार का नाम विवरण रेंज / सिंटेक्स
सटीक संख्या विज्ञान सांख्यिकसंख्यात्मक मूल्यों को संग्रहीत करने के लिए उपयोग किया जाता है और इसमें सटीक और स्केल संख्याएं होती हैं- 10 ^ 38 +1 से 10 ^ 38 - 1।
छोटा सापूर्णांक मान संग्रहीत करने के लिए उपयोग किया जाता है0 से 255 रु
छोटा सापूर्णांक मान संग्रहीत करने के लिए उपयोग किया जाता है-2 ^ 15 (-32,768) से 2 ^ 15-1 (32,767)
बिगिन्टपूर्णांक मान संग्रहीत करने के लिए उपयोग किया जाता है-2 ^ 63 (-9,223,372,036,854,775,808) से 2 ^ 63-1 (9,223,372,036,854,775,807)
intपूर्णांक मान संग्रहीत करने के लिए उपयोग किया जाता है-2 ^ 31 (-2,147,483,648) से 2 ^ 31-1 (2,147,483,647)
बिटएक पूर्णांक डेटा प्रकार संग्रहीत करता है जो 0, 1 या NULL के मान को दर्शाता है0, 1, या पूर्ण
दशमलवसंख्यात्मक मूल्यों को संग्रहीत करने के लिए उपयोग किया जाता है और इसमें सटीक और स्केल संख्याएं होती हैं- 10 ^ 38 +1 से 10 ^ 38 - 1।
छोटा सामौद्रिक संग्रह करने के लिए उपयोग किया जाता हैया मुद्रा मूल्य।- 214,748.3648 से 214,748.3647
पैसेमौद्रिक संग्रह करने के लिए इस्तेमाल कियाया मुद्रा मूल्य।-922,337,203,685,477.5808 से 922,337,203,685,477.5807 (-922,337,203,685,477.58
सूचनात्मक के लिए 922,337,203,685,477.58 पर।
अनुमानित संख्याएँ तैरनाफ्लोटिंग-पॉइंट न्यूमेरिक डेटा स्टोर करने के लिए उपयोग किया जाता है- 1.79E + 308 से -2.23E-308, 0 और 2.23E-308 से 1.79E + 308
असलीफ्लोटिंग-पॉइंट न्यूमेरिक डेटा स्टोर करने के लिए उपयोग किया जाता है- 3.40E + 38 से -1.18E - 38, 0 और 1.18E - 38 से 3.40E + 38
दिनांक और समय तारीखSQL सर्वर में दिनांक को परिभाषित करने के लिए उपयोग किया जाता है।सिंटेक्स: तारीख
स्मालडैटटाइमएक तारीख को परिभाषित करने के लिए उपयोग किया जाता है जो दिन के समय के साथ संयुक्त होता है जहां समय 24-घंटे के दिन पर आधारित होता है, जिसमें सेकंड हमेशा शून्य (: 00) और बिना आंशिक सेकंड के साथ होता है।सिंटेक्स: स्मालडैटटाइम
दिनांक और समयएक तारीख को परिभाषित करने के लिए उपयोग किया जाता है जो 24-घंटे की घड़ी के आधार पर आंशिक सेकंड के साथ दिन के समय के साथ जोड़ा जाता है।सिंटेक्स: डेटाइम
डेटाइम २ डेटाइम २ मौजूदा के विस्तार के रूप में है दिनांक और समय प्रकार जिसमें एक बड़ा डिफ़ॉल्ट भिन्नात्मक परिशुद्धता है, लार्गेट डेट रेंज।सिंटेक्स: डेटाटाइम 2
डेटाइमऑफ़सेटउस समय को परिभाषित करने के लिए उपयोग किया जाता है जो एक दिन के समय के साथ संयुक्त होता है जिसमें समय क्षेत्र जागरूकता होती है। यह 24 घंटे की घड़ी पर आधारित है।सिंटेक्स: डेटाइमऑफ़सेट
समयएक दिन के समय को परिभाषित करने के लिए उपयोग किया जाता है।सिंटेक्स: समय
चरित्र के तार charनिश्चित आकार के पात्रों को संग्रहीत करने के लिए उपयोग किया जाता है।char[( एन )] जहां n मान 1 - 8,000 से भिन्न होता है
वर्चरचर-लंबाई वर्णों को संग्रहीत करने के लिए उपयोग किया जाता है।varchar [( एन | अधिकतम)] जहां n मान १- and००० से भिन्न है और अधिकतम अनुमत २ जीबी है।
पाठV स्टोर करते थेएरीएबल-लंबाई गैर-यूनिकोड डेटाअधिकतम स्ट्रिंग लंबाई की अनुमति है - 2 ^ 31-1 (2,147,483,647)
यूनिकोड चरित्र तार नचनिश्चित आकार के पात्रों को संग्रहीत करने के लिए उपयोग किया जाता है।नच[(n)] जहाँ n मान 1-4000 से भिन्न होता है
नवरचरचर-लंबाई वर्णों को संग्रहीत करने के लिए उपयोग किया जाता है।varchar [( एन | अधिकतम)] जहां n मान 1-4000 से भिन्न है और अधिकतम अनुमत 2GB है।
नेक्स्टवैरिएबल-लंबाई यूनिकोड डेटा को स्टोर करने के लिए उपयोग किया जाता हैअधिकतम स्ट्रिंग लंबाई की अनुमति है - 2 ^ 30-1 (2,147,483,647)
बाइनरी स्ट्रिंग्स बाइनरीबाइनरी डेटा प्रकारों को या तो निश्चित लंबाई में संग्रहीत करने के लिए उपयोग किया जाता हैबाइनरी[( एन )] जहां n मान 1 - 8,000 से भिन्न होता है
भिन्न प्रकार काबाइनरी डेटा प्रकारों को या तो निश्चित लंबाई में संग्रहीत करने के लिए उपयोग किया जाता हैभिन्न प्रकार का[( एन )] जहाँ n vale १-000००० से भिन्न है और अनुमत अधिकतम संग्रहण २ ^ ३१-१ बाइट्स है।
छविवेरिएबल-लेंथ बाइनरी डेटा को स्टोर करने के लिए उपयोग किया जाता है0 - 2 ^ 31-1 (2,147,483,647) बाइट्स
अन्य डेटा प्रकार यह संग्रहीत कार्यविधि या OUTPUT पैरामीटर के लिए एक डेटा प्रकार है जिसमें कर्सर का संदर्भ होता है।-
रोड़ेबाजीएक डेटाबेस के भीतर स्वचालित रूप से उत्पन्न, अद्वितीय बाइनरी नंबर को उजागर करने के लिए उपयोग किया जाता है।-
पदानुक्रमएक पदानुक्रम में स्थिति का प्रतिनिधित्व करने के लिए उपयोग किया जाता है।-
अद्वितीय पहचानकर्ताएक 16-बाइट गाइड है।वाक्य - विन्यास:अद्वितीय पहचानकर्ता
sql_variantविभिन्न SQL सर्वर समर्थित डेटा प्रकारों के मूल्यों को संग्रहीत करने के लिए उपयोग किया जाता हैसिंटेक्स: sql_variant
xmlXML डेटा प्रकार संग्रहीत करने के लिए उपयोग किया जाता है।

xml ([CONTENT | DOCUMENT] xml_schemacollection)

स्थानिक ज्यामिति प्रकारएक यूक्लिडियन (फ्लैट) समन्वय प्रणाली में डेटा का प्रतिनिधित्व करने के लिए उपयोग किया जाता है।-
स्थानिक भूगोल प्रकारजीपीएस अक्षांश और देशांतर निर्देशांक जैसे दीर्घवृत्त (गोल-पृथ्वी) डेटा को संग्रहीत करने के लिए उपयोग किया जाता है।-
तालिकाएक बाद के समय में प्रसंस्करण के लिए निर्धारित परिणाम को संग्रहीत करने के लिए उपयोग किया जाता है-

अगला, इस लेख में हम डेटाबेस में विभिन्न प्रकार की कुंजियों और बाधाओं को समझते हैं।

डेटाबेस में कुंजी के विभिन्न प्रकार

डेटाबेस में उपयोग की जाने वाली विभिन्न प्रकार की कुंजियाँ निम्नलिखित हैं:

  • उम्मीदवार कुंजी - उम्मीदवार कुंजी उन विशेषताओं का एक समूह है जो विशिष्ट रूप से एक तालिका की पहचान कर सकती है। एक तालिका में एक से अधिक उम्मीदवार कुंजी हो सकती है, और चुने गए उम्मीदवार कुंजी में से एक कुंजी को प्राथमिक कुंजी के रूप में चुना जा सकता है।
  • सुपर की - विशेषताओं का सेट विशिष्ट रूप से एक टपल की पहचान कर सकता है। इसलिए, उम्मीदवार कुंजी, अद्वितीय कुंजी और प्राथमिक कुंजी सुपर कुंजी हैं, लेकिन इसके विपरीत यह सच नहीं है।
  • प्राथमिक कुंजी - प्राथमिक कुंजी हर टपल को विशिष्ट रूप से पहचानने के लिए उपयोग किया जाता है।
  • वैकल्पिक कुंजी - वैकल्पिक कुंजी वे उम्मीदवार कुंजी हैं जिन्हें प्राथमिक कुंजी के रूप में नहीं चुना जाता है।
  • अद्वितीय कुंजी- अद्वितीय कुंजी प्राथमिक कुंजी के समान हैं, लेकिन कॉलम में एकल NULL मान की अनुमति दें।
  • विदेशी कुंजी - एक विशेषता जो केवल मौजूद मूल्यों को किसी अन्य विशेषता के मूल्यों के रूप में ले सकती है, वह है विदेशी कुंजी जिस विशेषता को यह संदर्भित करता है।
  • समग्र कुंजी- समग्र कुंजियाँ दो या दो से अधिक स्तंभों का एक संयोजन होती हैं जो प्रत्येक टपल को विशिष्ट रूप से पहचानती हैं।

डेटाबेस में प्रयुक्त बाधाएँ

एक तालिका में संग्रहीत डेटा के नियमों को निर्दिष्ट करने के लिए एक डेटाबेस में बाधाओं का उपयोग किया जाता है। के विभिन्न प्रकार SQL में बाधाएं इस प्रकार हैं:

अशक्त नहीं

NOT NULL बाधा यह सुनिश्चित करती है कि स्तंभ में NULL मान नहीं हो सकता।

उदाहरण

क्रिएट टेबल स्टूडेंट्सइन्फो (स्टूडेंट इंट नॉट नाउल, स्टूडेंटनेम वेंचर (8000) नॉट एनएलईएल, पेरेंटनेम नेचर (8000), फोननंबर इंट, एड्रेसोफुडेंट वैरचर (8000) नॉट नाल, सिटीचेयर (8000), कंट्री वर्चर (8000) --NOT NULL NULL ALTER TABLE TTER ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int पर नल नहीं

अद्वितीय

यह बाधा सुनिश्चित करती है कि एक कॉलम के सभी मूल्य अद्वितीय हैं।

उदाहरण

- बनाएँ टेबल पर टेबल टेबल छात्रइन्फो (छात्र आईडी नॉट यूनली, स्टूडेंटनाम वैकर (8000) नॉट नाउल, पेरेंटनेम वेंचर (8000), फोननंबर इंट, एड्रेसोफ्लेक्सेंट वर्चर (8000) नॉट नाल, सिटी वर्चर (8000), कंट्री वर्चर ( 8000)) - कई कॉलमों पर छात्र लिखें छात्र छात्र-छात्राएं (छात्र आईडी नॉट नहीं, स्टूडेंटनाम वैकर (8000) नॉट एनयूएलई, पैरेंटनेम वैरचर (8000), फोननंबर इंट, एड्रेसोफूड वर्चर (8000) नॉट नाल, सिटी वर्चर (8000), देश varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNUNQUE ON ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (स्टूडेंट -) - UNIQUE constraint ALTER TABLE StudentsInfo DROP CONSTRAINT UCST

चेक

CHECK बाधा सुनिश्चित करती है कि एक कॉलम में सभी मान एक विशिष्ट स्थिति को संतुष्ट करते हैं।

उदाहरण

-CHECK निर्माण पर कब्जे के निर्माण पर छात्र छात्र सूची (छात्र आईडी नहीं नल, छात्र नाम varchar (8000) नहीं नल, मूल नाम varchar (8000), PhoneNumber int, AddressofStatent varchar (8000) नहीं NULL, सिटी varchar (8000), देश के varchar (8000) 8000) CHECK (देश = 'भारत')) --CHECK विभिन्न स्तंभों पर कसना बनाएँ छात्र Studentsfo (छात्र आईडी नहीं NULL, छात्रनाम varchar8000) नहीं NULL, पैरेंटनेम varchar (8000, PhoneNumber int, AddressofStudent varchar (8000) नहीं NULL। सिटी varchar (8000), कंट्री varchar (8000) CHECK (देश = 'भारत' और City = 'हैदराबाद')) --CHECK Constraint on ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (देश = भारत) '- a CHECK Constraint ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (देश = 'भारत') का नाम - एक CHECK कांस्‍ट्रैक्‍टर अलर्ट टेबल छात्रों को छोड़ें। DROP CONSTRAINT CheckConstraintName

चूक

जब कोई मान निर्दिष्ट नहीं किया जाता है तो DEFAULT बाधा एक स्तंभ के लिए डिफ़ॉल्ट मानों का एक सेट होती है।

उदाहरण

- निर्माण पर कब्जे की कसौटी पर कसने के निर्माण छात्र (आईओएफ, छात्र नाम, varchar (8000) नहीं NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) नहीं NULL, सिटी varchar (8000), देश के varchar (8000) DEFAULT 'इंडिया') - ALDE TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'India' पर देश के लिए अलग-अलग बाधाएं - डिफ़ॉल्ट कॉन्सट्रिक्ट अलाइबल छात्रों के लिए छोड़ें ALTER COLUMN देश DROP defau_Country

INDEX

INDEX की बाधा तालिका में अनुक्रमित बनाने के लिए उपयोग किया जाता है, जिसके माध्यम से आप डेटाबेस से डेटा को बहुत तेज़ी से बना और पुनर्प्राप्त कर सकते हैं।

वाक्य - विन्यास

- एक इंडेक्स बनाएं जहां डुप्लिकेट वैल्यूज़ की अनुमति दी जाती है TableName (Column1, Column2, ... ColumnN) पर क्रिएट इंडेक्स इंडेक्सनेम - एक इंडेक्स बनाएं जहां डुप्लिकेट वैल्यूज़ की अनुमति नहीं होती है TableName (Column1, Column2, ...) कॉलम)

उदाहरण

छात्र INFx_StudentName पर StudentsInfo (StudentName) बनाएँ - तालिका में एक सूचकांक हटाएं DROP INDEX StudentsInfo.idex_StudentName

SQL सर्वर ट्यूटोरियल पर इस लेख में आगे बढ़ते हुए, आइए अब Microsoft SQL सर्वर में प्रयुक्त विभिन्न डेटा मैनीपुलेशन लैंग्वेज कमांड को समझते हैं।

डेटा हेरफेर भाषा आदेश

लेख का यह खंड उन सभी आदेशों को कवर करेगा जिनके माध्यम से आप डेटाबेस में हेरफेर कर सकते हैं। आदेश इस प्रकार हैं:

इन आदेशों के अलावा, अन्य जोड़तोड़ ऑपरेटर / कार्य भी हैं जैसे:

प्रयोग करें

इस कथन का उपयोग डेटाबेस का चयन करने के लिए किया जाता है ताकि उस पर विभिन्न ऑपरेशन किए जा सकें।

वाक्य - विन्यास

उपयोग डेटाबेस

उदाहरण

उपयोग छात्रों

में सम्मिलित करें

INSERT INTO स्टेटमेंट एक मौजूदा तालिका में नए रिकॉर्ड डालने के लिए उपयोग किया जाता है।

वाक्य - विन्यास

INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) - यदि आप कॉलम नामों का उल्लेख नहीं करना चाहते हैं तो नीचे दिए गए सिंटैक्स INSERT INTO TableName VALUES का उपयोग करें। (मान 1, मान 2, मान 3, ...)

उदाहरण

INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'संजना', 'कपूर', '99777119999', 'बफ़ेलो स्ट्रीट हाउस नंबर 10', 'कोलकाता', 'भारत' ') INSERT INTO StudentsInfo VALUES (' 07 ',' विशाल ',' मिश्रा ',' 9876509712 ',' नाइस रोड 15 ',' पुणे ',' भारत ')

अपडेट करें

अद्यतन विवरण का उपयोग तालिका में पहले से मौजूद रिकॉर्ड को संशोधित करने या अद्यतन करने के लिए किया जाता है।

वाक्य - विन्यास

अद्यतन तालिका का नाम कॉलम 1 = मान 1, कॉलम 2 = मान 2, ... जहां शर्त है

उदाहरण

UPDATE StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1

DELETE

DELETE कथन का उपयोग किसी तालिका में मौजूदा रिकॉर्ड को हटाने के लिए किया जाता है।

वाक्य - विन्यास

तालिका नाम से कोई शर्त

उदाहरण

छात्रों से DELETE कहां से छात्र नाम = 'अहाना'

जाओ

MERGE स्टेटमेंट का उपयोग INSERT, UPDATE और DELETE संचालन को एक विशिष्ट टेबल पर करने के लिए किया जाता है, जहां स्रोत तालिका प्रदान की जाती है। नीचे देखें।

वाक्य - विन्यास

MERGE TagretTableName का उपयोग करके स्रोत पर जाने योग्य नाम बदलें जब भी अपडेट किया गया हो तब अद्यतन किया गया हो जब कोई प्रविष्टि सम्मिलित नहीं की गई हो।

उदाहरण

MERGE कथन को समझने के लिए, निम्न तालिकाओं को स्रोत तालिका और लक्ष्य तालिका के रूप में समझें।

स्रोत तालिका:

छात्र आईडी छात्र का नाम निशान
एकमुझे नफरत है87
मानसा92
अनय74

लक्ष्य तालिका:

छात्र आईडी छात्र का नाम निशान
एकमुझे नफरत है87
मानसा६ 67
सौरभ५५
MERGE SampleTargetTable TARGET का उपयोग करके नमूना स्रोत स्रोत पर (TARGET.StudentID = SOURCE.StudentID) का मिलान किया गया है और TARGET.StudentName SOURCE.StudentName या TARGET.Marks SOURCE। स्पार्क्स को अपडेट किया जा रहा है। इन इंसर्ट (स्टूडेंट, स्टूडेंट, नेम, मार्क्स) वैल्यूज (SOURCE.StudentID, SOURCE.StudentName, SOURCE। जब तक उपलब्ध नहीं हो जाता है, तब से लेकर जब तक इन्हें खरीदा नहीं जाता)

आउटपुट

छात्र आईडी छात्र का नाम निशान
एकमुझे नफरत है87
मानसा92
अनय74

चुनते हैं

चयन कथन डेटाबेस, तालिका या दृश्य से डेटा का चयन करने के लिए उपयोग किया जाता है। लौटाए गए डेटा को परिणाम तालिका में संग्रहीत किया जाता है, जिसे कहा जाता है परिणाम सेट

वाक्य - विन्यास

SELECT Column1, Column2, ... ColumN FROM TableName - (*) का उपयोग तालिका से सभी का चयन करने के लिए किया जाता है। FROM से तालिका का चयन करें - का उपयोग करने के लिए रिकॉर्ड की संख्या का चयन करने के लिए: Select 3 का चयन करें * TableName का चयन करें।

उदाहरण

- कुछ कॉलम सेलेक्ट करने के लिए स्टूडेंट का चयन करें, स्टूडेंटइन्फो से स्टूडेंटनेम - (*) का उपयोग टेबल से सब सेलेक्ट करने के लिए किया जाता है। स्टूडेंटइन्फो से सेलेक्ट करें - रिटर्न यूज करने के लिए रिकॉर्ड्स की संख्या सेलेक्ट करने के लिए: सेलेक्ट टॉप 3 * फॉर्म्स इनफो।

हम निम्नलिखित कथनों का चयन SELECT स्टेटमेंट के साथ भी कर सकते हैं:

DISTINCT

DISTINCT कीवर्ड का उपयोग केवल भिन्न मान वापस करने के लिए SELECT स्टेटमेंट के साथ किया जाता है।

वाक्य - विन्यास

DISTINCT Column1, Column2 का चयन करें, ... ColumnN FROM TableName से

उदाहरण

StudentsInfo से DISTINCT PhoneNumber का चयन करें

द्वारा आदेश

इस कथन का उपयोग आवश्यक परिणाम को आरोही या अवरोही क्रम में क्रमबद्ध करने के लिए किया जाता है। डिफ़ॉल्ट रूप से, परिणाम आरोही क्रम में संग्रहीत किए जाते हैं। फिर भी, यदि आप अवरोही क्रम में परिणाम प्राप्त करना चाहते हैं, तो आपको इसका उपयोग करना होगा DESC कीवर्ड।

वाक्य - विन्यास

स्तंभ 1, कॉलम 2, का चयन करें ... स्तंभ 1 से स्तंभ का नाम, कॉलम 2, कॉलम 2 ... ASC | DESC |

उदाहरण

- ParentName द्वारा क्रमबद्ध 'StudentsInfo' तालिका से सभी छात्रों का चयन करें: ParentName द्वारा StudentsInfo ORDER से * का चयन करें - अवरोही क्रम में ParentName द्वारा छांटे गए 'StudentsInfo' तालिका से सभी छात्रों का चयन करें: * StudentsInfo ORDER BY ParentName DESC - से * का चयन करें। पेरेंटनेम और स्टूडेंटनाम द्वारा छांटे गए 'स्टूडेंट्सइन्फो' टेबल से सभी छात्रों का चयन करें: पेरेंटनेम से स्टूडेंटइन्फो से ऑर्डर करें, स्टूडेंटनेम / स्टूडेंटनेम से * स्टूडेंटइन्फो टेबल से सभी छात्रों का चयन करें। * स्टूडेंटइन्फो ओर से पेरेंटनेम एएससी, स्टूडेंटनेम डेस्क

द्वारा समूह बनाएं

इस कथन के साथ प्रयोग किया जाता है कुल कार्य परिणाम को एक या अधिक कॉलम द्वारा सेट करने के लिए।

वाक्य - विन्यास

स्तंभ 1 का चयन करें, कॉलम 2, ..., कॉलम नाम से कॉलम फॉर्म ग्रुप जहां कॉलम कॉलम (ओं) आदेश द्वारा कॉलम (नाम)

उदाहरण

- प्रत्येक शहर से छात्रों की संख्या को सूचीबद्ध करने के लिए। शहर से सेलेक्ट काउंट (स्टूडेंट), सिटी से स्टूडेंट्सइन्फो ग्रुप

समूह बनाना

ग्रुप SETS को SQL सर्वर 2008 में पेश किया गया था, जिसका उपयोग परिणाम-सेट उत्पन्न करने के लिए किया जाता है जो कि a द्वारा उत्पन्न किया जा सकता है यूनिअन ऑल कई साधारण समूह द्वारा खंड।

वाक्य - विन्यास

स्तंभों का चयन स्तंभ समूह से समूह नाम (कॉलम)

उदाहरण

स्टूडेंटइन्फो ग्रुप, बाय स्टूडेंटइन्फो ग्रुप, बाय स्टूडेंटइन्फ, ग्रुप (ग्रुप) से सेक्ट्स (स्टूडेंट, स्टूडेंटनाम, सिटी), (स्टूडेंट), (स्टूडेंटनाम), (सिटी))

हवलदार

यह क्लॉज उस परिदृश्य में उपयोग किया जाता है जहां जहाँ खोजशब्द उपयोग नहीं किया जा सकता।

वाक्य - विन्यास

स्तंभ नाम से चयन करें (तालिका के नाम से) जहां से कॉलम नाम (स्थिति) कॉलम स्थिति (कॉलम) के आधार पर आदेश दे रहा है

उदाहरण

सेक्शन (स्टूडेंट), सिटी से स्टूडेंट्सइन्फो ग्रुप बाय सिटी हवनिंग काउंट (स्टूडेंट)> 2 ऑर्टर फ्रॉम COUNT (स्टूडेंट) DESC

इन्टू

INTO कीवर्ड का उपयोग इसके साथ किया जा सकता है चयन कथन एक तालिका से दूसरी तालिका में डेटा कॉपी करने के लिए। ठीक है, आप इन तालिकाओं को अस्थायी तालिकाओं के रूप में समझ सकते हैं। अस्थायी टेबल का उपयोग आम तौर पर मूल तालिका को परेशान किए बिना, तालिका में मौजूद डेटा पर हेरफेर करने के लिए किया जाता है।

वाक्य - विन्यास

चयन करें * इनटू न्यूटेबल [बाहरी में] पुरानी स्थिति से

उदाहरण

- टेबल 'स्टूडेंट्सइन्फो' सेलेक्ट * इनटू स्टूडेंटबेकअप इन स्टूडेंट्सइन्फो- का बैकअप बनाने के लिए - स्टूडेंट्सइन्फो सेक्ट स्टूडेंटनेम, फोननंबर इनटू स्टूडेंट्स से केवल कुछ कॉलम चुनें स्टूडेंटइन्फो से सलेक्ट करें * स्टूडेंटइन्फो से इनर पुणेस्टूडेंट्स चुनें जहां से सिटी = 'पुणे'

घन

CUBE का एक विस्तार है समूह द्वारा खंड । यह आपको ग्रुप बाय क्लॉज में निर्दिष्ट समूहीकरण कॉलम के सभी संयोजनों के लिए उप-योग बनाने की अनुमति देता है।

वाक्य - विन्यास

CUBE (कॉलम नाम, कॉलम 2 नाम, ....., कॉलमनेम) से टेबलनेम ग्रुप से सेलेक्ट कॉलमनेम (एस) चुनें।

उदाहरण

छात्र का चयन करें, शहर (शहर) से छात्र (ग्रुप) से छात्र (छात्र) छात्र द्वारा आदेश

जमना

रोलअप ग्रुप बाय क्लॉज का विस्तार है। यह आपको अतिरिक्त पंक्तियों को शामिल करने की अनुमति देता है जो उप-योगों का प्रतिनिधित्व करते हैं। इन्हें भव्य कुल पंक्ति के साथ-साथ सुपर-एग्रीग्रेटेड पंक्तियों के रूप में जाना जाता है।

वाक्य - विन्यास

ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN) द्वारा टेबलनेम समूह से कॉलम कॉलम (नाम) का चयन करें

उदाहरण

स्टूडेंट, सेलेक्ट (सिटी) फ्रॉम स्टूडेंटइन्फो ग्रुप बाय रोलअप (स्टूडेंट)

OFFSET

OFFSET क्लॉज का उपयोग SELECT और के साथ किया जाता है आदेश द्वारा कथन अभिलेखों की एक श्रृंखला को पुनः प्राप्त करने के लिए। इसका उपयोग ORDER BY क्लॉज के साथ किया जाना चाहिए क्योंकि इसका उपयोग स्वयं नहीं किया जा सकता है। साथ ही, आपके द्वारा उल्लिखित सीमा 0. के बराबर या उससे अधिक होनी चाहिए। यदि आप नकारात्मक मान का उल्लेख करते हैं, तो यह एक त्रुटि दिखाता है।

वाक्य - विन्यास

कॉलम का नाम चुनें (तालिका के नाम से) जहां से कॉलम नं।

उदाहरण

एक नए कॉलम पर विचार करें निशान में छात्र तालिका।

छात्र का चयन करें, छात्र इनफॉर्मा से पेरेंटनाम 1 OFOWET के मार्क्स के आधार पर

FETCH

FETCH क्लॉज का उपयोग कई पंक्तियों के सेट को वापस करने के लिए किया जाता है। इसका उपयोग OFFSET क्लॉज के संयोजन में किया जाना है।

वाक्य - विन्यास

कॉलम का नाम चुनें (तालिका के नाम से) जहां से कॉलम नं। की स्थिति का विवरण OFFSET RowsToSkip FETCH NEXT नंबरऑफर्स को केवल देखें

उदाहरण

छात्र का चयन करें, छात्र से माता-पिता का नाम 1 अंक से कम अंक द्वारा प्राप्त करें।

ऊपर

शीर्ष खंड का उपयोग सेलेक्ट स्टेटमेंट के साथ किया जाता है ताकि लौटने के रिकॉर्ड की संख्या का उल्लेख किया जा सके।

वाक्य - विन्यास

तालिका के शीर्ष नंबर कॉलम का नाम चुनें

उदाहरण

छात्रों से चुनें टॉप 3 *

PIVOT

PIVOT का उपयोग स्तंभ मानों की पंक्तियों को घुमाने के लिए किया जाता है और शेष स्तंभ मानों पर आवश्यक होने पर एकत्रीकरण को चलाता है।

वाक्य - विन्यास

NonPivoted ColumnName, [पहला पिवोटेड ColumnName] AS ColumnName, [दूसरा पिवोटेड ColumnName] AS ColumnName, [तीसरा पिवोटेड ColumnName] AS ColumnName, ... [लास्ट पिवोट्ड ColumnName] AS ColumnName FROM (SELECT क्वेरी) जो डेटा का उत्पादन करता है। प्रारंभिक क्वेरी के लिए] PIVOT ([एग्रीगेशन फंक्शन] (ColumName) के लिए [कॉलम का कॉलम जिसका नाम कॉलम हेडर बनेगा] IN ((पहला पिवोट कॉलम), [दूसरा पिवोट कॉलम], [तीसरा पिवोट कॉलम कॉलम] ... [अंतिम छिद्रित स्तंभ])) के रूप में [धुरी तालिका के लिए उपनाम]

उदाहरण

एक विस्तृत उदाहरण प्राप्त करने के लिए, आप इसका उल्लेख कर सकते हैं SQL PIVOT और UNPIVOT पर मेरा लेख । इस SQL ​​सर्वर ट्यूटोरियल के आगे हम Microsoft SQL सर्वर द्वारा समर्थित विभिन्न ऑपरेटरों पर नज़र डालते हैं।

संचालक

विभिन्न प्रकार के ऑपरेटर SQL सर्वर द्वारा समर्थित निम्नानुसार हैं:

आइए हम उनमें से प्रत्येक पर एक-एक करके चर्चा करें।

अंकगणितीय आपरेटर

ऑपरेटर अर्थ वाक्य - विन्यास

+

जोड़

अभिव्यक्ति + अभिव्यक्ति

-

घटाव

अभिव्यक्ति - अभिव्यक्ति

*

गुणन

अभिव्यक्ति * अभिव्यक्ति

/

विभाजन

अभिव्यक्ति / अभिव्यक्ति

%

मोडुलस

अभिव्यक्ति% अभिव्यक्ति

असाइनमेंट ऑपरेटर्स

ऑपरेटर अर्थ वाक्य - विन्यास

=

किसी वैरिएबल के लिए मान निर्दिष्ट करें

चर = ‘मान’

बिटवाइज ऑपरेटर्स

ऑपरेटर अर्थ वाक्य - विन्यास

और (बिटवाइज़ और)

दो पूर्णांक मानों के बीच एक बिटवाइज़ लॉजिकल और ऑपरेशन करने के लिए उपयोग किया जाता है।

अभिव्यक्ति और अभिव्यक्ति

& = (बिटवाइज़ और असाइनमेंट)

दो पूर्णांक मानों के बीच एक बिटवाइज़ लॉजिकल और ऑपरेशन करने के लिए उपयोग किया जाता है। यह ऑपरेशन के आउटपुट के लिए एक मूल्य भी निर्धारित करता है।

अभिव्यक्ति & = अभिव्यक्ति

| (बिटवाइज़ ओआर)

दो पूर्णांक मानों के बीच एक बिटवाइज़ लॉजिकल या ऑपरेशन करने के लिए उपयोग किया जाता है, जैसा कि Transact-SQL स्टेटमेंट के भीतर बाइनरी एक्सप्रेशनों में अनुवादित है।

अभिव्यक्ति | अभिव्यक्ति

| = (बिटवाइज़ या असाइनमेंट)

दो पूर्णांक मानों के बीच एक बिटवाइज़ लॉजिकल या ऑपरेशन करने के लिए उपयोग किया जाता है, जैसा कि Transact-SQL स्टेटमेंट्स में बाइनरी एक्सप्रेशनों के लिए अनुवादित है। यह ऑपरेशन के आउटपुट के लिए एक मूल्य भी निर्धारित करता है।

अभिव्यक्ति | = अभिव्यक्ति

झांकी में सम्मिश्रण 10

^ (बिटवाइज एक्सक्लूसिव या)

दो पूर्णांक मानों के बीच एक बिटवाइज़ अनन्य या ऑपरेशन करने के लिए उपयोग किया जाता है।

अभिव्यक्ति ^ अभिव्यक्ति

^ = (बिटवाइज़ एक्सक्लूसिव या असाइनमेंट)

दो पूर्णांक मानों के बीच एक बिटवाइज़ अनन्य या ऑपरेशन करने के लिए उपयोग किया जाता है। यह ऑपरेशन के आउटपुट के लिए एक मूल्य भी निर्धारित करता है।

अभिव्यक्ति ^ = अभिव्यक्ति

~ (बिटवाइज़ नहीं)

पूर्णांक मान पर बिटवाइज़ लॉजिकल ऑपरेशन नहीं करने के लिए उपयोग किया जाता है।

~ अभिव्यक्ति

तुलना संचालक

ऑपरेटर अर्थ वाक्य - विन्यास

=

के बराबर

अभिव्यक्ति = अभिव्यक्ति

>

से अधिक

अभिव्यक्ति> अभिव्यक्ति

<

से कम

अभिव्यक्ति

> =

इससे बड़ा या इसके बराबर

अभिव्यक्ति> = अभिव्यक्ति

<=

से कम या बराबर

अभिव्यक्ति<= expression

असमान

अभिव्यक्ति अभिव्यक्ति

=!

असमान

अभिव्यक्ति! = अभिव्यक्ति

!<

से कम नहीं

अभिव्यक्ति!

!>

से अधिक नहीं

अभिव्यक्ति!> अभिव्यक्ति

यौगिक संचालक

ऑपरेटर अर्थ वाक्य - विन्यास

+ =

मूल मूल्य में मूल्य जोड़ने और परिणाम के लिए मूल मूल्य निर्धारित करने के लिए उपयोग किया जाता है।

अभिव्यक्ति + = अभिव्यक्ति

- =

मूल मूल्य से एक मूल्य घटाना और परिणाम के लिए मूल मूल्य सेट करना।

अभिव्यक्ति - = अभिव्यक्ति

* =

मूल मूल्य को गुणा करने के लिए उपयोग किया जाता है और परिणाम के लिए मूल मूल्य निर्धारित किया जाता है।

अभिव्यक्ति * = अभिव्यक्ति

/ =

मूल मूल्य से एक मूल्य को विभाजित करने और परिणाम के लिए मूल मूल्य निर्धारित करने के लिए उपयोग किया जाता है।

अभिव्यक्ति / = अभिव्यक्ति

% =

मूल मूल्य से एक मूल्य को विभाजित करने और परिणाम के लिए मूल मूल्य निर्धारित करने के लिए उपयोग किया जाता है।

अभिव्यक्ति% = अभिव्यक्ति

& =

एक बिटवाइज़ और ऑपरेशन करने के लिए उपयोग किया जाता है और परिणाम के लिए मूल मूल्य निर्धारित करता है।

अभिव्यक्ति & = अभिव्यक्ति

^ =

एक बिटवाइज़ एक्सक्लूसिव OR ऑपरेशन करने के लिए उपयोग किया जाता है और परिणाम के लिए मूल मूल्य निर्धारित करता है।

अभिव्यक्ति ^ = अभिव्यक्ति

| =

बिटवाइज़ या ऑपरेशन करने के लिए उपयोग किया जाता है और परिणाम के लिए मूल मूल्य निर्धारित किया जाता है।

अभिव्यक्ति | = अभिव्यक्ति

लॉजिकल ऑपरेटर्स

ऑपरेटर अर्थ वाक्य - विन्यास

सब

यदि सभी सेट की तुलना TRUE है तो TRUE लौटाता है।

स्केलर_एक्सप्रेशन = = सब (सबक्वेरी)

तथा

TRUE लौटाता है यदि दोनों अभिव्यक्तियाँ TRUE हैं।

boolean_expression और boolean_expression

कोई भी

यदि कोई भी एक तुलना TRUE है, तो TRUE लौटाता है।

scalar_expression! = {कोई} (उपश्रेणी)

के बीच

यदि कोई ऑपरेंड एक सीमा के भीतर है, तो TRUE लौटाता है।

[ख] नमूनाकरण

मौजूद

यदि किसी सबक्वेरी में कोई पंक्तियाँ हैं, तो TRUE लौटाता है।

परीक्षा (उप क्वेरी)

में

यदि कोई ऑपरेंड अभिव्यक्ति की सूची में से एक के बराबर है, तो TRUE लौटाता है।

test_expression [नहीं] IN (उपश्रेणी | अभिव्यक्ति [,… n])

पसंद

यदि कोई ऑपरेंड एक पैटर्न से मेल खाता है, तो TRUE लौटाता है।

match_expression [नहीं] LIKE पैटर्न [ESCAPE एस्केप_चैकर]

नहीं

किसी भी बूलियन ऑपरेटर के मूल्य को उलट देता है।

[नहीं] बूलियन_कप्रेशन

या

यदि कोई भी बूलियन अभिव्यक्ति TRUE है, तो TRUE लौटाता है।

बूलियन_कप्रेशन या बूलियन_प्रगति

कुछ

यदि TR तुलना के कुछ सेट TRUE हैं, तो TRUE लौटाता है।

scalar_expression<= { SOME} ( subquery )

स्कोप रिज़ॉल्यूशन ऑपरेटर्स

ऑपरेटर अर्थ उदाहरण

::

एक यौगिक डेटा प्रकार के स्थिर सदस्यों तक पहुंच प्रदान करता है। यौगिक डेटा प्रकार वे डेटा प्रकार होते हैं जिनमें कई तरीके और सरल डेटा प्रकार होते हैं। कंपाउंड डेटा प्रकार इनमें अंतर्निहित बिल्ट सीएलआर प्रकार और कस्टम SQLCLR उपयोगकर्ता-परिभाषित प्रकार (UDTs) शामिल हैं।

DECLARE @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString ()

ऑपरेटर सेट करें

मुख्य रूप से तीन सेट ऑपरेशन हैं:यूनिअन,इंटरसेक्ट,माइनस। SQL में सेट ऑपरेशन को समझने के लिए आप नीचे दी गई छवि को देख सकते हैं। नीचे दी गई छवि देखें:

ऑपरेटर अर्थ वाक्य - विन्यास

यूनिअन

UNION ऑपरेटर का उपयोग दो या अधिक SELECT स्टेटमेंट के परिणाम-सेट को संयोजित करने के लिए किया जाता है।

तालिका 1 से स्तंभ नाम चुनें
यूनिअन
तालिका 2 से स्तंभ नाम चुनें

इंटरसेक्ट

INTERSECT क्लॉज का उपयोग दो को मिलाने के लिए किया जाता हैचुनते हैंबयान और दोनों चयन बयानों के डेटा-सेट के चौराहे को वापस करें।

स्तंभ 1 का चयन करें, कॉलम 2…।
टेबलनेम से
जहां हालत
इंटरसेक्ट
स्तंभ 1 का चयन करें, कॉलम 2…।
टेबलनेम से
जहां हालत

के सिवाय

EXCEPT ऑपरेटर उन tuples को लौटाता है जो पहले SELECT ऑपरेशन द्वारा लौटाए जाते हैं, और दूसरे SELECT ऑपरेशन द्वारा वापस नहीं किए जाते हैं।

स्तंभ का चयन करें
टेबलनेम से
के सिवाय
स्तंभ का चयन करें
टेबलनेम से

स्ट्रिंग ऑपरेटर्स

ऑपरेटर अर्थ सिंटेक्स / उदाहरण

+ (स्ट्रिंग कॉनसेनटेशन)

दो या दो से अधिक द्विआधारी या चरित्र तार, कॉलम या एक एकल अभिव्यक्ति में तार और स्तंभ नामों का एक संयोजन

अभिव्यक्ति + अभिव्यक्ति

+ = (स्ट्रिंग संघातन)

दो तारों को समतल करने के लिए उपयोग किया जाता है और ऑपरेशन के परिणाम के लिए स्ट्रिंग सेट करता है।

अभिव्यक्ति + = अभिव्यक्ति

% (वाइल्डकार्ड वर्ण से मिलान करने के लिए)

शून्य या अधिक वर्णों के किसी भी स्ट्रिंग से मेल खाने के लिए उपयोग किया जाता है।

उदाहरण:% नमूना% ’

[] (वाइल्डकार्ड कैरेक्टर मैच के लिए)

निर्दिष्ट सीमा के भीतर किसी एकल वर्ण से मेल खाने के लिए उपयोग किया जाता है या कोष्ठक के बीच निर्दिष्ट किया जाता है []।

उदाहरण: m [n-z]% '

[^] (वाइल्डकार्ड वर्ण मिलान करने के लिए)

एक एकल वर्ण से मेल खाने के लिए उपयोग किया जाता है जो वर्ग कोष्ठक के बीच निर्दिष्ट या सेट के भीतर नहीं है।

उदाहरण: ‘अल [^ a]%’

_ (वाइल्डकार्ड वर्ण से मिलान करने के लिए)

एक स्ट्रिंग तुलना ऑपरेशन में एकल वर्ण से मेल खाने के लिए उपयोग किया जाता है

test_expression [नहीं] IN (उपश्रेणी | अभिव्यक्ति [,… n])

एकत्र होना कार्य

विभिन्न कुल कार्य SQL सर्वर द्वारा समर्थित निम्नानुसार हैं:

समारोह विवरण वाक्य - विन्यास उदाहरण

SUM ()

मानों के समूह का योग वापस करने के लिए उपयोग किया जाता है।

तालिका से नाम (स्तंभ नाम) का चयन करें

छात्रों से चयन करें (अंक)

COUNT ()

किसी शर्त के आधार पर या बिना किसी शर्त के पंक्तियों की संख्या लौटाता है।

तालिका का चयन करें (स्तंभ नाम) जहां से तालिका का नाम है

छात्रों से चयन करें (छात्र)

AVG ()

एक संख्यात्मक कॉलम के औसत मूल्य की गणना करने के लिए उपयोग किया जाता है।

तालिका से नाम AVG (ColumnName) का चयन करें

छात्रों से एवीजी (मार्क्स) का चयन करें

MIN ()

यह फ़ंक्शन किसी कॉलम का न्यूनतम मान लौटाता है।

तालिका से नाम का चयन करें (स्तंभ नाम)

छात्रों से चुनें MIN (मार्क्स)

अधिकतम ()

किसी स्तंभ का अधिकतम मान लौटाता है।

तालिका से अधिकतम MAX (कॉलम नाम) का चयन करें

छात्रों से अधिकतम MAX (मार्क्स) का चयन करें

प्रथम()

स्तंभ का पहला मान लौटाने के लिए उपयोग किया जाता है।

तालिका से नाम का चयन करें (कॉलम नाम)

छात्रों से पहले (मार्क्स) का चयन करें

पिछले ()

यह फ़ंक्शन कॉलम का अंतिम मान लौटाता है।

तालिका से नाम (स्तंभ नाम) का चयन करें

स्टूडेंट्सइन्फो से सेलेक्ट लास्ट (मार्क्स)

उपयोगकर्ता-परिभाषित कार्य

Microsoft SQL सर्वर उपयोगकर्ताओं को उपयोगकर्ता-परिभाषित फ़ंक्शंस बनाने की अनुमति देता है जो रूटीन हैं। ये दिनचर्या पैरामीटर को स्वीकार करते हैं, जटिल कार्यों के लिए सरल प्रदर्शन कर सकते हैं और मूल्य के रूप में उस विशेष कार्रवाई के परिणाम को वापस कर सकते हैं। यहां, लौटाया गया मान या तो एकल स्केलर मान या पूर्ण परिणाम-सेट हो सकता है।

आप उपयोगकर्ता द्वारा परिभाषित कार्यों का उपयोग कर सकते हैं:

  • मॉड्यूलर प्रोग्रामिंग की अनुमति दें
  • नेटवर्क ट्रैफ़िक कम करें
  • प्रश्नों के तेजी से निष्पादन की अनुमति दें

इसके अलावा, विभिन्न प्रकार के उपयोगकर्ता-परिभाषित कार्य हैं जिन्हें आप बना सकते हैं। वे:

  • स्केलर कार्य: अभ्यस्तRETURNS क्लॉज में परिभाषित प्रकार का एकल डेटा मान लौटाएं।
  • तालिका-मान्यता प्राप्त कार्य: अभ्यस्तवापस आ जाओतालिकाडाटा प्रकार।
  • सिस्टम के कार्य: विभिन्न कार्यों को करने के लिए विभिन्न प्रकार के सिस्टम फ़ंक्शन SQL सर्वर द्वारा प्रदान किए जाते हैं।

खैर, उपयोगकर्ता-परिभाषित कार्यों के अलावा, SQL सर्वर में इन-बिल्ट फ़ंक्शंस का एक गुच्छा है, जिसका उपयोग विभिन्न प्रकार के कार्यों को करने के लिए किया जा सकता है। SQL सर्वर ट्यूटोरियल पर इस लेख में आगे बढ़ते हुए, आइए अब समझते हैं कि नेस्टेड क्वेरीज़ क्या हैं।

नेस्टेड क्वेरीज़

घोंसले के सवाल वे क्वेरीज़ हैं जिनमें एक बाहरी क्वेरी और भीतरी सबक्वेरी है। तो, मूल रूप से, उपश्रेणी एक ऐसी क्वेरी है जो किसी अन्य क्वेरी जैसे SELECT, INSERT, UPDATE या DELETE के भीतर होती है। नीचे दी गई छवि देखें:

इस एसक्यूएल सर्वर ट्यूटोरियल में, आइए हम एसक्यूएल में विभिन्न प्रकार के जोड़ को समझते हैं।

जुड़ता है

तालिकाओं के बीच एक संबंधित स्तंभ के आधार पर, दो या अधिक तालिकाओं से ट्यूपल्स को संयोजित करने के लिए उपयोग किया जाता है। चार प्रकार के जोड़ होते हैं:

  • आंतरिक रूप से जुड़ा: दोनों तालिकाओं में मेल खाने वाले मान लौटाता है।
  • बाँया जोड़: बाईं तालिका से रिकॉर्ड लौटाता है, और उन रिकॉर्डों को भी जो सही तालिका से स्थिति को संतुष्ट करता है।
  • सही जॉय: सही तालिका से रिकॉर्ड लौटाता है, और उन रिकॉर्डों को भी जो बाईं तालिका से स्थिति को संतुष्ट करता है।
  • पूरा जोइन: रिटर्न रिकॉर्ड जो या तो बाईं या दाईं टेबल में मैच है।

जॉइंट्स के सिंटैक्स को समझने के लिए स्टूडेंट्सइन्फो टेबल के साथ निम्न तालिका पर विचार करें।

विषय छात्र आईडी विषय नाम
१०१०गणित
ग्यारहभौतिक विज्ञान
१२रसायन विज्ञान

आंतरिक रूप से जुड़ा

वाक्य - विन्यास

स्तंभ का चयन करें तालिका 1 से INNER JOIN Table2 को Table1.ColumnName = Table2.ColumnName पर जोड़ें

उदाहरण

सिलेक्ट सब्जेक्ट्स। सब्जेक्ट्स, स्टूडेंट्सइन्फो.टूडेंटनेम से सब्जेक्ट्स में शामिल हों। सब्जेक्ट्स पर स्टूडेंट्सइनफो करें।

बाँया जोड़

वाक्य - विन्यास

स्तंभ का चयन करें तालिका 1 से टेबल पर LEFT JOIN Table2 लिखें। ColumnName = Table2.olumnName

उदाहरण

छात्रों का चयन करें। Info.StudentName, Subjects.SubjectID छात्रों से। LEFT JOIN विषयों पर StudentsInfo.SubjectID = Subjects.ubjectID ORDER BY StudentsInfo.StjectentName

सही शामिल हैं

वाक्य - विन्यास

स्तंभ का चयन करें तालिका 1 से तालिका 1 पर सही तालिका 2 को जोड़ें। कॉलम नाम = तालिका 2। कॉलम नाम

उदाहरण

छात्रों का चयन करें। इनटूडेंटनाम, सब्जेक्ट्स। सब्जेक्ट्स। स्टूडेंट्सइन्फो से सटी विशेषण। स्टूडेंट्सइन्फो पर सब्जेक्ट्स लिखें।

पूरा जोइन

वाक्य - विन्यास

स्तंभ का चयन करें तालिका 1 से FULL OUTER JOIN Table2 Table1.ColumnName = Table2.olumnName पर जाएं

उदाहरण

StudentsInfo.StudentName, Subjects.SubjectID से छात्रों का चयन करें। FULL OUTER JOIN सबजेक्ट्स पर StudentsInfo.SubjectID = Subjects.ubjectID ORDER BY StudentsInfo.tudentName

अगला, SQL सर्वर ट्यूटोरियल पर इस लेख में, आइए हम SQL सर्वर द्वारा समर्थित विभिन्न प्रकार के लूपों को समझते हैं।

लूप्स

विभिन्न कंट्रोल-ऑफ-फ्लो कमांड निम्नानुसार हैं:

आइए हम उनमें से प्रत्येक पर एक-एक करके चर्चा करें।

BEGIN..END

इन खोजशब्दों का उपयोग SQL कथनों की श्रृंखला को संलग्न करने के लिए किया जाता है। फिर, SQL स्टेटमेंट के इस समूह को निष्पादित किया जा सकता है।

वाक्य - विन्यास

BEGIN स्टेटब्लॉक END

टूटना

इस कथन का उपयोग वर्तमान WHILE लूप से बाहर निकलने के लिए किया जाता है। मामले में, वर्तमान WHILE लूप को दूसरे लूप के अंदर घोंसला बनाया जाता है, फिर BREAK स्टेटमेंट केवल करंट लूप से बाहर निकलता है और कंट्रोल को लूप में अगले स्टेटमेंट पर पास किया जाता है। BREAK स्टेटमेंट का उपयोग आम तौर पर IF स्टेटमेंट के अंदर किया जाता है।

वाक्य - विन्यास

टूटना

जारी रखें

WHIN लूप को पुनरारंभ करने के लिए CONTINUE स्टेटमेंट का उपयोग किया जाता है। इसलिए, CONTINUE कीवर्ड के बाद किसी भी स्टेटमेंट को नजरअंदाज कर दिया जाएगा।

वाक्य - विन्यास

जारी रखें

यहां, लेबल वह बिंदु है जिसके बाद प्रसंस्करण शुरू होता है यदि कोई GOTO उस विशेष लेबल को लक्षित करता है।

के लिए जाओ

निष्पादन के प्रवाह को एक लेबल में बदलने के लिए उपयोग किया जाता है। गोटो कीवर्ड के बाद लिखे गए बयानों को छोड़ दिया जाता है और लेबल पर प्रोसेसिंग जारी रहती है।

वाक्य - विन्यास

लेबल को परिभाषित करें: लेबल: अलर्ट निष्पादन: GOTO लेबल

यहां, लेबल वह बिंदु है जिसके बाद प्रसंस्करण शुरू होता है यदि कोई GOTO उस विशेष लेबल को लक्षित करता है।

यदि नहीं तो

किसी भी अन्य प्रोग्रामिंग भाषा की तरह, एसक्यूएल सर्वर में इफ-स्टेटमेंट स्थिति का परीक्षण करता है और यदि स्थिति गलत है, तो ’और 'स्टेटमेंट निष्पादित किया जाता है।

वाक्य - विन्यास

यदि बूलियन एक्सप्रेशन स्टेटब्लॉक [ईएलएसई स्टेटब्लॉक]

वापसी

किसी क्वेरी या प्रक्रिया से बिना शर्त बाहर निकलने के लिए उपयोग किया जाता है। तो, जो कथन RETURN क्लॉज के बाद लिखे गए हैं, उन्हें निष्पादित नहीं किया गया है।

वाक्य - विन्यास

RETURN [IntegerExpression]

यहां, एक पूर्णांक मान लौटाया जाता है।

के लिए इंतजार

WAITFOR नियंत्रण प्रवाह का उपयोग किसी संग्रहीत प्रक्रिया, लेनदेन या बैच के निष्पादन को अवरुद्ध करने के लिए किया जाता है जब तक कि कोई विशिष्ट विवरण संशोधित नहीं होता है, कम से कम एक पंक्ति या एक निर्दिष्ट समय या समय अंतराल को समाप्त करता है।

वाक्य - विन्यास

WAITFOR (GetConversionGroupStatement)] [, टाइमटाइम के बारे में]

कहां है,

  • DELAY - समय की अवधि जो पास होनी चाहिए
  • TimeToPass - पीइंतजार करने के लिए समय की eriod
  • समय -समय जब संग्रहीत प्रक्रिया, लेनदेन या बैच चलता है।
  • TimeToExecute -वह समय जिस पर WAITFOR का कथन समाप्त होता है।
  • RecieveStatement - सेवा मेरेवैध रिकॉर्ड बयान।
  • GetConversionGroupStatement - सेवा मेरेवैध लाभ समूह का विवरण।
  • टाइमआउट के बारे में - कतार में आने के लिए संदेश की प्रतीक्षा करने के लिए, मिलीसेकंड में समय की अवधि निर्दिष्ट करता है।

जबकि

इस लूप का उपयोग किसी विशेष SQL स्टेटमेंट या SQL स्टेटमेंट ब्लॉक के बार-बार निष्पादन के लिए एक शर्त सेट करने के लिए किया जाता है। बयानों को तब तक निष्पादित किया जाता है जब तक कि उपयोगकर्ता द्वारा बताई गई स्थिति TRUE हो। जैसे ही स्थिति विफल हो जाती है, लूप निष्पादित करना बंद कर देता है।

वाक्य - विन्यास

बुलियन एक्सप्रेशन स्टेटमेंटब्लॉक

अब, जब आप लोग डीएमएल कमांड को जानते हैं, तो हमारे अगले भाग पर चलते हैंइस लेख में SQL ट्यूटोरियल यानि DCL कमांड पर।

डेटा कंट्रोल लैंग्वेज कमांड्स (DCL)

SQL सर्वर ट्यूटोरियल का यह खंड आपको उस कमांड के बारे में एक विचार देगा जिसके माध्यम से कई उपयोगकर्ता डेटाबेस वातावरण में डेटाबेस सुरक्षा को लागू करने के लिए उपयोग किया जाता है। आदेश इस प्रकार हैं:

अनुदान

GRANT कमांड का उपयोग उपयोगकर्ताओं को डेटाबेस और उसकी वस्तुओं तक पहुँच या विशेषाधिकार प्रदान करने के लिए किया जाता है।

वाक्य - विन्यास

भूमिका के लिए उद्देश्य पर नाम लिखें [ग्रेनाइट विकल्प के साथ]

कहां है,

  • प्रिविलेजनाम - उपयोगकर्ता को विशेषाधिकार / अधिकार / पहुंच प्रदान की जाती है।
  • वस्तु नाम - TABLE / VIEW / STORED PROC जैसे डेटाबेस ऑब्जेक्ट का नाम।
  • उपयोगकर्ता नाम - उस उपयोगकर्ता का नाम, जिसे एक्सेस / अधिकार / विशेषाधिकार दिए गए हैं।
  • सह लोक - सभी उपयोगकर्ताओं के लिए पहुँच अधिकार प्रदान करना।
  • भूमिका का नाम - एक साथ विशेषाधिकारों के समूह का नाम।
  • अनुदान विकल्प के साथ - अन्य उपयोगकर्ताओं को अधिकारों के साथ अनुदान देने के लिए उपयोगकर्ता को एक्सेस देना।

उदाहरण

User1 करने के लिए StudentsInfo तालिका के लिए चयन की अनुमति देने के लिए user1 करने के लिए छात्रों का चयन करें

वापस लेना

REVOKE कमांड का उपयोग GRANT कमांड का उपयोग करके दिए गए उपयोगकर्ता के विशेषाधिकारों को वापस लेने के लिए किया जाता है।

वाक्य - विन्यास

सार्वजनिक रूप से ऑब्जेक्ट नाम पर विशेषाधिकार का नाम बदलें

उदाहरण

- user1 से चुने गए अनुमति को रद्द करने के लिए user1 के लिए छात्र पर चयन करें

इस SQL ​​सर्वर ट्यूटोरियल में आगे बढ़ते हुए, आइए समझते हैं कि Stored Procedures कैसे बनाएं और उपयोग करें।

संग्रहित प्रक्रियाएं

संग्रहित प्रक्रियाएं पुन: प्रयोज्य इकाइयाँ हैं जो अनुप्रयोग के एक विशिष्ट व्यावसायिक तर्क को कूटबद्ध करती हैं। तो, यह एसक्यूएल स्टेटमेंट्स और लॉजिक का एक समूह है, जो किसी विशिष्ट कार्य को करने के लिए संकलित और संग्रहीत किया जाता है।

वाक्य - विन्यास

बनाएँ [या प्रतिक्रिया] प्रक्रिया प्रक्रिया_नाम [(पैरामीटर_नाम [बाहर | बाहर] में टाइप करें] []]] है BEGIN [घोषना_ घोषणा] निष्पादन योग्य_संचालन // SQL कथन संग्रहीत कार्यविधि में उपयोग किया जाता है END GO

उदाहरण

- एक प्रक्रिया का उपयोग करें जो छात्र के नाम को वापस कर देगी जब छात्रआईड को संग्रहीत कार्यविधि के लिए इनपुट पैरामीटर के रूप में दिया जाता है क्रिएट प्रक्रिया GetStudentName (@StudentId INT, --Input पैरामीटर, @StudName VARCHAR (50) OUT --Output पैरामीटर, AS BEGIN सेलेक्ट @StudName = स्टूडेंटनेम से स्टूडेंटइन्फो स्टूडेंट = @ स्टूडेंटइंड END

निष्पादित करने के लिए कदम:

      • घोषित करें @StudName as nvarchar (50)
      • EXEC GetStudentName 01, @StudName आउटपुट
      • @StudName का चयन करें

उपरोक्त प्रक्रिया किसी विशेष छात्र का नाम लौटाती है,इनपुट के रूप में छात्रों को आईडी देने पर। इस एसक्यूएल सर्वर ट्यूटोरियल के आगे, हम लेनदेन नियंत्रण भाषा कमांड को समझते हैं।

लेन-देन नियंत्रण भाषा कमांड (TCL)

एसक्यूएल सर्वर ट्यूटोरियल का यह खंड आपको उन कमांड्स में एक अंतर्दृष्टि देगा जो डेटाबेस में लेनदेन का प्रबंधन करने के लिए उपयोग किया जाता है।आदेश इस प्रकार हैं:

कॉम

COMMIT कमांड का उपयोग डेटाबेस में लेनदेन को बचाने के लिए किया जाता है।

वाक्य - विन्यास

कॉम

रोलबैक

ROLLBACK कमांड का उपयोग अंतिम प्रतिबद्ध स्थिति में डेटाबेस को पुनर्स्थापित करने के लिए किया जाता है।

वाक्य - विन्यास

रोलबैक

ध्यान दें: जब आप SAVEPOINT के साथ ROLLBACK का उपयोग करते हैं, तो आप सीधे चल रहे लेन-देन में एक savepoint पर कूद सकते हैं। सिंटेक्स: बचत बिंदु पर रोलबैक

पॉइंट सहेजें

SAVEPOINT आदेश का उपयोग अस्थायी रूप से लेनदेन को बचाने के लिए किया जाता है। इसलिए यदि आप किसी बिंदु पर रोलबैक करना चाहते हैं, तो आप उस बिंदु को 'SAVEPOINT' के रूप में सहेज सकते हैं।

वाक्य - विन्यास

SAVEPOINT SAVEPOINTNAME

डेटाबेस में लेनदेन के काम को समझने के लिए नीचे दी गई तालिका पर विचार करें।

छात्र आईडी छात्र का नाम
एकरोहित
सुहाना
आशीष
Prerna

अब, नीचे का उपयोग करें डेटाबेस में लेनदेन को समझने के लिए।

INSERT INTO स्टूडेंटटेबल वैल्यूज़ (5, 'अविनाश') COMMIT UPDATE स्टूडेंटटेबल सेट नाम = 'आकाश' WHERE id = '5' SAVEPOINT S1 INSERT INTO स्टूडेंट वैल्यूज़ (6, 'संजना') SAVEPOINT S2 INSERT INTO इनटू स्टूडेंट वैल्यूज़ वैल्यूज़ ') SAVEPOINT S3 INSERT INTO स्टूडेंटटेबल वैल्यूज़ (8,' वीणा ') SAVEPOINT S4 का चयन करें * छात्र से

SQL सर्वर ट्यूटोरियल के इस लेख के आगे हम समझते हैं कि Transact-SQL में अपवादों को कैसे संभालना है।

एक्सेप्शन हेंडलिंग

दो प्रकार के अपवाद हैं, अर्थात्, सिस्टम-परिभाषित अपवाद और उपयोगकर्ता-परिभाषित अपवाद। जैसा कि नाम से पता चलता है, अपवाद हैंडलिंग एक प्रक्रिया है जिसके माध्यम से उपयोगकर्ता उत्पन्न अपवादों को संभाल सकता है। अपवादों को संभालने के लिए आपको निम्नलिखित नियंत्रण प्रवाह कथनों को समझना होगा:

फेंकना

इस क्लॉज का उपयोग अपवाद जुटाने के लिए किया जाता है और निष्पादन को TRY… CATCH निर्माण के CATCH ब्लॉक में स्थानांतरित करता है।

वाक्य - विन्यास

THROW [ErrorNumber, @Localvariable, राज्य] []

कहां है,

  • त्रुटि - सेवा मेरेनिरंतर या चर जो अपवाद का प्रतिनिधित्व करता है।
  • संदेश - सेवा मेरेचर या स्ट्रिंग जो अपवाद का वर्णन करता है।
  • राज्य -0 और 255 के बीच एक स्थिर या चर जो राज्य को संदेश के साथ जुड़ने का संकेत देता है।
THROW 51000, 'रिकॉर्ड मौजूद नहीं है।', 1

पकड़ने की कोशिश

Transact-SQL में अपवाद हैंडलिंग को लागू करने के लिए उपयोग किया जाता है। टीआरवाई ब्लॉक में बयानों का एक समूह संलग्न किया जा सकता है। यदि टीआरवाई ब्लॉक में कोई त्रुटि होती है, तो नियंत्रण को स्टेटमेंट्स के एक अन्य समूह को पारित कर दिया जाता है, जो एक CATCH ब्लॉक में संलग्न हैं।

वाक्य - विन्यास

BEGIN TRY स्टेटकब्लॉक END TRY बेगिन कैटच [स्टेटबॉक] END CATCH []
BEGIN TRY का चयन * छात्रों से करें END TRY BEGIN CATCH SELECT ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ERMsg END CATCH के रूप में

में इस के साथ, हम SQL सर्वर ट्यूटोरियल पर इस लेख के अंत में आते हैं। मुझे आशा है कि आपको SQL Server Tutorial for Beginners पर यह लेख पढ़ने में मज़ा आया।मैं f आप MySQL पर एक संरचित प्रशिक्षण प्राप्त करना चाहते हैं, तो हमारी जाँच करें जो प्रशिक्षक के नेतृत्व वाले लाइव प्रशिक्षण और वास्तविक जीवन की परियोजना के अनुभव के साथ आता है। यह प्रशिक्षण आपको MySQL को गहराई से समझने में मदद करेगा और आपको इस विषय पर महारत हासिल करने में मदद करेगा। क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें SQL सर्वर ट्यूटोरियल “और मैं तुम्हारे पास वापस आ जाऊंगा।