ड्रॉप और ट्रंककेट के बीच का अंतर

Anonim

ड्रॉप बनाम ट्राकेकेट

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

यदि हम अपने सभी डेटा के साथ एक डेटाबेस में तालिका को छोड़ना चाहते हैं, तो एसक्यूएल हमें ड्रॉप स्टेटमेंट का उपयोग करने के लिए आसानी से करने की अनुमति देता है। ड्रॉप कमांड एक डीडीएल (डेटा परिभाषा भाषा) कमांड है, और इसका उपयोग मौजूदा डेटाबेस, तालिका, अनुक्रमणिका या दृश्य को नष्ट करने के लिए किया जा सकता है। यह एक तालिका में पूरी जानकारी को हटाता है, साथ ही डेटाबेस से टेबल संरचना भी। साथ ही, हम एक टेबल में सभी डेटा से छुटकारा पा सकते हैं, लेकिन मेज के बिना, और हम ऐसे परिदृश्य में एसक्यूएल में ट्रिंट स्टेटमेंट का उपयोग कर सकते हैं। ट्रिंटेट भी एक डीडीएल कमांड है और यह एक तालिका में सभी पंक्तियों को समाप्त करता है लेकिन भविष्य के उपयोग के लिए तालिका परिभाषा को संरक्षित करता है।

ड्रॉप कमांड

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

-3 ->

ड्रॉप तालिका

हमें केवल टेबल नाम को बदलना होगा, जिसे हम ड्रॉप कमांड के उपरोक्त मॉडल में डेटाबेस से निकालना चाहते हैं।

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

के रूप में ड्रॉप कमांड एक ऑटो कमेंट स्टेटमेंट है, एक बार निकाल दिया जाने वाला ऑपरेशन वापस नहीं लाया जा सकता है और कोई ट्रिगर नहीं छोड़ा जा सकता है। जब कोई तालिका गिरा दी जाती है, तब तालिका के सभी संदर्भ मान्य नहीं होंगे, और इसलिए, यदि हम तालिका को फिर से उपयोग करना चाहते हैं, तो उसे सभी अखंडता की कमी और पहुँच विशेषाधिकारों के साथ पुन: निर्मित करना होगा। अन्य तालिकाओं के सभी रिश्तों को भी फिर से होना चाहिए।

कमांड कम करें

कमांड कमांड एक डीडीएल कमांड है, और यह किसी भी उपयोगकर्ता निर्दिष्ट शर्तों के बिना तालिका में सभी पंक्तियों को निकाल देता है, और तालिका द्वारा उपयोग की गई जगह को रिलीज़ करता है, लेकिन इसके स्तंभों, अनुक्रमित और बाधाओं के साथ तालिका संरचना वही रहनाछंटनी तालिका डेटा को संग्रहीत करने के लिए उपयोग किए गए डेटा पृष्ठों को हटाना द्वारा तालिका में डेटा को समाप्त कर देता है, और केवल ये पृष्ठ deallocations लेनदेन लॉग में रखा जाता है तो यह अन्य संबंधित एसक्यूएल कमांड जैसे हटाएं की तुलना में कम लेनदेन लॉग संसाधनों और सिस्टम संसाधनों का उपयोग करता है। तो Truncate दूसरों की तुलना में थोड़ा सा तेज बयान है ट्रंकेट कमांड के लिए विशिष्ट सिंटैक्स निम्नलिखित है

ट्रंककेट तालिका

हमें तालिका नाम को बदलना चाहिए, जिसमें से हम ऊपर दिए गए वाक्यविन्यास में पूरे डेटा को हटाना चाहते हैं।

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

ड्रॉप और ट्रंककेट के बीच अंतर क्या है?

ड्रॉप और ट्रंककेट कमांड दोनों ही डीडीएल कमांड हैं और इन्हें स्वत: कमेंट्स भी कहते हैं, इसलिए इन कमांडों का उपयोग करने वाले लेनदेन वापस नहीं लाए जा सकते हैं।

ड्रॉप और ट्रांकेट के बीच का प्राथमिक अंतर यह है कि ड्रॉप कमांड केवल एक टेबल में मौजूद सभी डेटा को हटा देता है, लेकिन यह सभी संदर्भों के साथ डेटाबेस से स्थायी रूप से तालिका संरचना को हटा देता है, जबकि ट्रंकेट कमांड केवल सभी पंक्तियों को निकाल देता है एक तालिका में, और यह तालिका संरचना और उसके संदर्भों को संरक्षित करता है।

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

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