डिलीट बनाम ड्रॉप
डिलीट और ड्रॉप दोनों कमांड SQL (स्ट्रक्चर्ड क्वेरी लैंग्वेज) स्टेटमेंट से संबंधित हैं, और इनका उपयोग डेटाबेस से डेटा को हटाने के मामले में किया जाता है। डिलीट एक डीएमएल (डेटा मैनिपुलेशन लैंग्वेज) कमांड है। यह उपयोगकर्ता द्वारा निर्दिष्ट शर्त के अनुसार तालिका से कुछ या सभी डेटा को हटा देता है। डिलीट स्टेटमेंट टेबल में केवल डेटा रिकॉर्ड को हटाता है, लेकिन टेबल स्ट्रक्चर डेटाबेस में समान प्रस्तुत करता है। ड्रॉप कमांड एक डीडीएल (डेटा डेफिनिशन लैंग्वेज) स्टेटमेंट है, और यह डिलीट कमांड से अलग तरीके से काम करता है। यह एक सशर्त आधारित कथन नहीं है, इसलिए तालिका से संपूर्ण डेटा को हटा देता है, साथ ही यह तालिका संरचना और उस तालिका के सभी संदर्भों को डेटाबेस से स्थायी रूप से हटा देता है।
विवरण हटाएं
जैसा कि ऊपर उल्लेख किया गया है, डिलीट स्टेटमेंट प्रदान की गई शर्त के आधार पर एक टेबल से डेटा को हटा देता है, और इस आवश्यक शर्त को निर्दिष्ट करने के लिए डिलीट के साथ जहां क्लॉज का उपयोग किया जाता है। यदि डिलीट के साथ व्हेयर क्लॉज नहीं बताया गया है, तो सभी टेबल डेटा को टेबल से हटा दिया जाता है। हालाँकि, डिलीट ऑपरेशन में, मौजूदा टेबल स्ट्रक्चर वही रहता है। इसलिए, यदि उपयोगकर्ता तालिका का पुन: उपयोग करना चाहता है, तो उसे तालिका संरचना को परिभाषित करने की आवश्यकता नहीं है। चूंकि डिलीट एक डीएमएल कमांड है, यह निष्पादन के बाद स्वचालित रूप से प्रतिबद्ध नहीं होता है। इसलिए, पिछले ऑपरेशन को पूर्ववत करने के लिए इसे वापस रोल किया जा सकता है। अन्यथा, परिवर्तनों को स्थायी बनाने के लिए कमिट स्टेटमेंट को बुलाया जाना चाहिए। डिलीट स्टेटमेंट को निष्पादित करते समय, यह प्रत्येक पंक्ति विलोपन के लिए लेनदेन लॉग में एक प्रविष्टि दर्ज करता है। तो, यह ऑपरेशन को धीमा करने के लिए प्रभावित करता है। साथ ही, यह निष्पादन के बाद उपयोग किए गए स्थान को नहीं हटाता है।
डिलीट स्टेटमेंट का सिंटैक्स निम्नलिखित है।
से हटाएं
या
कहां से हटाएं
ड्रॉप स्टेटमेंट
ड्रॉप स्टेटमेंट डेटाबेस से न केवल सभी टेबल रिकॉर्ड को बिना किसी शर्त के हटा देता है, बल्कि यह टेबल स्ट्रक्चर, इंटीग्रिटी बाधाओं, इंडेक्स और संबंधित टेबल के एक्सेस विशेषाधिकारों को डेटाबेस से स्थायी रूप से हटा देता है। इसलिए, अन्य तालिकाओं के लिए सभी संबंध भी अब मौजूद नहीं हैं, और तालिका के बारे में जानकारी डेटा शब्दकोश से हटा दी जाती है। इसलिए, यदि उपयोगकर्ता तालिका का पुन: उपयोग करना चाहता है तो उसे तालिका संरचना और तालिका के अन्य सभी संदर्भों को फिर से परिभाषित करने की आवश्यकता है। ड्रॉप एक डीडीएल कमांड है और कमांड के निष्पादन के बाद, इसे फिर से रोल बैक नहीं किया जा सकता है, क्योंकि ड्रॉप कमांड एक ऑटो कमिटमेंट का उपयोग करता है। इसलिए, उपयोगकर्ता को इस आदेश का उपयोग करने में बहुत सावधान रहना चाहिए। ड्रॉप स्टेटमेंट सिस्टम टेबल पर लागू नहीं किया जा सकता है, और इसका उपयोग उन टेबलों के लिए भी नहीं किया जा सकता है जिनमें विदेशी कुंजी बाधाएं हैं।
ड्रॉप कमांड का उपयोग न केवल SQL टेबल के लिए, बल्कि डेटाबेस, व्यू और टेबल कॉलम के लिए भी किया जा सकता है, और इन ऑब्जेक्ट्स में संग्रहीत सभी डेटा ऑब्जेक्ट्स के साथ हमेशा के लिए खो जाते हैं।
निम्नलिखित ड्रॉप कमांड के लिए विशिष्ट सिंटैक्स है।
ड्रॉप टेबल
डिलीट और ड्रॉप में क्या अंतर है?
1. डिलीट और ड्रॉप कमांड डेटाबेस से टेबल डेटा को हटाता है।
2. लेकिन डिलीट स्टेटमेंट सशर्त आधारित विलोपन करता है, जबकि ड्रॉप कमांड तालिका में पूरे रिकॉर्ड को हटा देता है।
3. साथ ही, डिलीट स्टेटमेंट टेबल में केवल पंक्तियों को हटाता है और यह टेबल स्ट्रक्चर को समान रखता है, जबकि ड्रॉप कमांड टेबल और टेबल स्ट्रक्चर के सभी डेटा को हटा देता है, साथ ही यह डेटाबेस से अन्य सभी संदर्भों को भी हटा देता है।
4. डिलीट एक डीएमएल स्टेटमेंट है, जबकि ड्रॉप एक डीडीएल कमांड है। इसलिए, डिलीट ऑपरेशन को वापस रोल किया जा सकता है और यह ऑटो कमिटेड नहीं है, जबकि ड्रॉप ऑपरेशन को किसी भी तरह से वापस नहीं किया जा सकता है क्योंकि यह एक ऑटो कमिटेड स्टेटमेंट है।
5. ड्रॉप कमांड का उपयोग उन तालिकाओं पर नहीं किया जा सकता है जिन्हें विदेशी कुंजी बाधाओं द्वारा संदर्भित किया गया है, जबकि इसके बजाय डिलीट कमांड का उपयोग किया जा सकता है।
6. SQL अनुप्रयोगों में डिलीट स्टेटमेंट की तुलना में ड्रॉप कमांड का उपयोग अच्छी समझ के साथ सावधानी से किया जाना चाहिए।