Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
MySQL + SQL · Lesson 37

DROP, TRUNCATE और DELETE Difference

हटाने के तीन तरीके

MySQL में तीन commands हैं जो चीज़ें हटाती हैं, और इन्हें मिला देना आसान है: DELETE rows हटाता है, TRUNCATE पूरी table खाली करता है, और DROP पूरी table हटाता है। अंतर जानना — ख़ासकर क्या undo हो सकता है — महँगी गलतियाँ रोकता है।

💡 DELETE = rows हटाओ (undoable)। TRUNCATE = table तेज़ी से खाली। DROP = पूरी table हटाओ।

DELETE

DELETE FROM students WHERE marks < 40;   -- कुछ rows
DELETE FROM students;                    -- सारी rows

DELETE rows हटाता है। WHERE के साथ यह सिर्फ़ मेल खाती rows हटाता है; इसके बिना, सारी rows। यह DML command है, तो transaction के अंदर rollback हो सकता है। यह लचीला, सावधान विकल्प है।

TRUNCATE

TRUNCATE TABLE students;

TRUNCATE सारी rows बहुत तेज़ी से हटाकर table reset करता है (AUTO_INCREMENT counter समेत)। यह खाली table रखता है ताकि आप दोबारा इस्तेमाल कर सकें। यह DDL command है और undo करना बहुत कठिन है, तो सावधानी से इस्तेमाल कीजिए।

DROP

DROP TABLE students;

DROP पूरी table हटाता है — data और संरचना। DROP के बाद, table अब मौजूद नहीं; आपको इसे फिर CREATE करना होगा। यह तीनों में सबसे विनाशकारी है।

Rollback और speed

  • DELETE — धीमा (row-दर-row), पर transaction के अंदर rollback हो सकता है।
  • TRUNCATE — बहुत तेज़ (drop करके फिर बनाता), undo कठिन, auto-increment reset करता।
  • DROP — सब हटाता है; table चली गई।

सुरक्षा को, जब undo की ज़रूरत पड़ सकती हो तब DELETE; जब पक्का हो table खाली करनी है तभी TRUNCATE इस्तेमाल कीजिए।

तुलना

बातDELETETRUNCATEDROP
हटाता हैचुनी या सारी rowsसारी rowsपूरी table
संरचना रखता हैहाँहाँनहीं
WHERE allowedहाँनहींनहीं
Rollbackहाँ (transaction में)कठिनकठिन
Speedधीमातेज़तेज़
TypeDMLDDLDDL

आम गलतियाँ

  • WHERE बिना DELETE। यह हर row हटाता है — WHERE दोबारा जाँचिए।
  • TRUNCATE को आसान undo की उम्मीद से इस्तेमाल करना। यह DDL command है; rollback कठिन।
  • TRUNCATE और DROP मिलाना। TRUNCATE खाली table रखता है; DROP उसे delete करता है।
  • Auto-increment reset भूलना। TRUNCATE इसे reset करता है; DELETE नहीं।

सारांश

  • DELETE चुनी या सारी rows हटाता है और rollback हो सकता है।
  • TRUNCATE table तेज़ी से खाली करके auto-increment reset करता है।
  • DROP पूरी table हटाता है, संरचना समेत।
  • DELETE DML है; TRUNCATE और DROP DDL हैं।
  • जब undo की ज़रूरत पड़ सकती हो तब DELETE बेहतर।

आगे, command समूह सीखिए DDL, DML और DQL में, या सुरक्षित editing safe UPDATE और DELETE में।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

DROP, TRUNCATE और DELETE में क्या अंतर है?
DELETE विशिष्ट rows (WHERE के साथ) या सारी rows हटाता है, और rollback हो सकता है। TRUNCATE सारी rows तेज़ी से हटाकर table reset करता है, पर undo करना कठिन है। DROP पूरी table, संरचना समेत हटाता है।
क्या MySQL में DELETE undo कर सकता हूँ?
हाँ, अगर आप transaction के अंदर हों। DELETE एक DML command है, तो COMMIT से पहले आप ROLLBACK कर सकते हैं। TRUNCATE और DROP DDL commands हैं और rollback करना बहुत कठिन या असंभव है।
DELETE और TRUNCATE में कौन तेज़ है?
पूरी table खाली करने को TRUNCATE बहुत तेज़ है, क्योंकि यह rows एक-एक delete करने के बजाय table drop करके फिर बनाता है। DELETE धीमा पर लचीला है, क्योंकि यह सिर्फ़ चुनी rows हटा सकता है।
TRUNCATE और DROP में क्या अंतर है?
TRUNCATE सारा data हटाता है पर खाली table (संरचना) रखता है ताकि आप दोबारा इस्तेमाल कर सकें। DROP पूरी table पूरी तरह हटाता है, इसकी संरचना समेत, तो table अब मौजूद नहीं रहती।
क्या TRUNCATE auto-increment counter reset करता है?
हाँ। TRUNCATE AUTO_INCREMENT counter को उसके start value (आमतौर पर 1) पर reset करता है, जबकि DELETE counter जहाँ था वहीं रखता है। जब ids मायने रखें तब यह महत्वपूर्ण अंतर है।
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

अगला topicALTER TABLE और DROP Commands आपकी प्रगति: 37 / 151 (25%) · Lesson 38 / 151 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें