विषय
मुख्य अंतर
DELETE और TRUNCATE एक तालिका से रिकॉर्ड या डेटा को निकालने के लिए संरचित क्वेरी भाषा (SQL) में उपयोग किए जाने वाले दो शब्द हैं। हालाँकि दोनों आज्ञाओं का अंतिम परिणाम समान है लेकिन इन दोनों के बीच कुछ अंतर भी हैं जिन्हें समझना महत्वपूर्ण है। DELETE और TRUNCATE के बीच मुख्य अंतर यह है कि DELTE एक डेटा मैनीपुलेशन लैंग्वेज (DML) कमांड है जबकि TRUNCATE एक डेटा डेफिनिशन लैंग्वेज (DDL) कमांड है।
TRUNCATE क्या है?
TRUNCATE भी एक लॉग ऑपरेशन है। TRUNCATE टेबल स्टेटमेंट SQL में DDL कमांड है जो डीलक्लोशन के लिए टेबल के विस्तार को चिह्नित करता है। इस ऑपरेशन के परिणामस्वरूप, तालिका से सभी डेटा तुरन्त निकालता है, आमतौर पर कई अखंडता लागू करने वाले तंत्र को दरकिनार करता है। इसे SQL: 2008 मानक में पेश किया गया था। Statement TRUNCATE TABLE mytable ’का बयान तार्किक रूप से E DELETE FROM mytable’ के कथन के बराबर है, जिसमें a WHERE ’क्लॉज नहीं है। ‘TRUNCATE TABLE’ तालिका द्वारा उपयोग किए गए डेटा पृष्ठों को डील करके तुरंत एक तालिका के सभी डेटा को हटा देती है। यह विलोपन लॉगिंग के संसाधन ओवरहेड को कम करता है, साथ ही आवश्यक तालों की संख्या भी। हम ‘TRUNCATE TABLE’ कथन में ’WHERE’ क्लॉज निर्दिष्ट नहीं कर सकते क्योंकि यह सब है या कुछ भी नहीं है।
DELETE क्या है?
डेटाबेस एसक्यूएल में, DELETE का अर्थ है कि एक तालिका से एक या अधिक रिकॉर्ड या डेटा को हटा दिया जाता है। सभी रिकॉर्ड्स को हटाने के लिए एक शर्त का उपयोग करके हटाने / हटाने के लिए एक सबसेट को परिभाषित किया जा सकता है। कुछ डेटाबेस मैनेजमेंट सिस्टम (DBMs) जैसे MySQL ने एक DELETE स्टेटमेंट के साथ विभिन्न तालिकाओं से पंक्तियों को हटाने की अनुमति दी है जिसे मल्टी-टेबल DELETE भी कहा जाता है। DELETE स्टेटमेंट का सिंटैक्स DELETE FROM है तालिका नाम । अब ’WHERE’ की स्थिति से मेल खाने वाली कोई भी पंक्ति तालिका से हटा दी जाएगी। यदि कथन से from WHERE 'खंड को छोड़ दिया जाता है, तो तालिका की सभी पंक्तियाँ हटा दी जाती हैं। इसलिए, सावधानी से 'DELETE' कथन का उपयोग किया जाना चाहिए। इसके अलावा,, DELETE 'का कथन किसी भी पंक्तियों को वापस नहीं करता है; यह है कि यह एक परिणाम सेट उत्पन्न नहीं करेगा।
मुख्य अंतर
- DELETE एक डेटा मैनीपुलेशन लैंग्वेज (DML) कमांड है, जबकि TRUNCATE एक डेटा डेफिनिशन लैंग्वेज (DDL) कमांड है।
- TRUNCATE DELETE की तुलना में बहुत तेज़ है क्योंकि यह सभी डेटा को तुरंत मिटा देता है।
- DELETE में। जहां की स्थिति की आवश्यकता है । यदि कथन से from WHERE 'खंड को छोड़ दिया जाता है, तो तालिका की सभी पंक्तियाँ हटा दी जाती हैं। लेकिन हम ’TRUNCATE TABLE’ कथन में ERE जहां ’खंड को निर्दिष्ट नहीं कर सकते क्योंकि यह सब है या कुछ भी नहीं है।
- DELETE किसी तालिका से कुछ या सभी पंक्तियों को हटा देता है जबकि TRUNCATE सभी पंक्तियों को हटा देता है।
- DELETE आग की मेज पर सभी DELETE ट्रिगर का कारण बनता है जबकि TRUNCATE ऑपरेशन के दौरान किसी भी ट्रिगर को निकाल नहीं दिया जाता है क्योंकि यह अलग-अलग पंक्तियों पर लागू नहीं होता है।
- हटाएं का उपयोग अनुक्रमित दृश्यों के साथ किया जा सकता है, जबकि TRUNCATE को अनुक्रमित दृश्यों के साथ उपयोग नहीं किया जा सकता है।
- DELETE को पंक्ति लॉक का उपयोग करके निष्पादित किया जाता है और तालिका में प्रत्येक पंक्ति हटाए जाने के लिए लॉक की जाती है जबकि TRUNCATE को टेबल लॉक का उपयोग करके निष्पादित किया जाता है और सभी रिकॉर्ड को हटाने के लिए सभी तालिका लॉक की जाती है।