91
GB
What is the difference between TRUNCATE and DELETE without a WHERE clause in SQL?
IN
SQL में WHERE क्लॉज के बिना TRUNCATE और DELETE के बीच क्या अंतर है?
A
TRUNCATE removes all rows without logging individual row deletions (faster, minimal logging, resets auto-increment), cannot be rolled back in some DBMS, and cannot have triggers. DELETE logs each row deletion (slower, fully transactional, triggers fire, can be rolled back)
TRUNCATE व्यक्तिगत पंक्ति विलोपन को लॉग किए बिना सभी पंक्तियों को हटा देता है (तेज, न्यूनतम लॉगिंग, ऑटो-वृद्धि को रीसेट करता है), कुछ DBMS में वापस नहीं लाया जा सकता है, और इसमें ट्रिगर नहीं हो सकते हैं। प्रत्येक पंक्ति को हटाने के लिए लॉग को हटाएं (धीमा, पूरी तरह से लेन-देन, आग को ट्रिगर करता है, वापस लाया जा सकता है)
B
TRUNCATE can have a WHERE clause; DELETE cannot
TRUNCATE में WHERE क्लॉज हो सकता है; हटा नहीं सकते
C
They are identical operations
वे समान परिचालन हैं
D
DELETE is faster than TRUNCATE for large tables
बड़ी तालिकाओं के लिए DELETE TRUNCATE से तेज़ है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English)
TRUNCATE: DDL operation in many DBMS, removes all rows by deallocating data pages, minimal logging, very fast, resets identity/auto-increment, cannot have WHERE clause, does not fire row-level triggers, may not be rollbackable. DELETE: DML, logs each deletion, fires triggers, can have WHERE, fully rollbackable.
व्याख्या (हिन्दी)
ट्रंकेट: कई डीबीएमएस में डीडीएल ऑपरेशन, डेटा पेजों को हटाकर सभी पंक्तियों को हटा देता है, न्यूनतम लॉगिंग, बहुत तेज, पहचान/ऑटो-वृद्धि को रीसेट करता है, WHERE क्लॉज नहीं हो सकता है, पंक्ति-स्तरीय ट्रिगर सक्रिय नहीं होता है, रोलबैक करने योग्य नहीं हो सकता है। हटाएं: डीएमएल, प्रत्येक विलोपन को लॉग करता है, ट्रिगर सक्रिय करता है, WHERE कर सकता है, पूरी तरह से रोलबैक करने योग्य।