MySQL TRUNCATE और DROP कमांड के बीच सबसे महत्वपूर्ण अंतर यह है कि TRUNCATE कमांड टेबल की संरचना को नष्ट नहीं करेगा बल्कि इसके विपरीत DROP कमांड टेबल की संरचना को भी नष्ट कर देगा।
उदाहरण
mysql> Create table testing(id int PRIMARY KEY NOT NULL AUTO_INCREMENT,Name Varchar(20)); Query OK, 0 rows affected (0.24 sec) mysql> Insert into testing(Name) Values('Ram'),('Mohan'),('John'); Query OK, 3 rows affected (0.12 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> Select * from testing; +----+-------+ | id | Name | +----+-------+ | 1 | Ram | | 2 | Mohan | | 3 | John | +----+-------+ 3 rows in set (0.00 sec)
अब 'टेस्टिंग' टेबल को इस प्रकार से ट्रुनकेट करने के बाद भी, इसकी संरचना डेटाबेस में बनी रहती है और यह प्राथमिक कुंजी को भी इनिशियलाइज़ करती है।
mysql> Truncate table testing; Query OK, 0 rows affected (0.04 sec) mysql> DESCRIBE testing; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+ 2 rows in set (0.21 sec)
लेकिन जब हम टेबल पर DROP कमांड लागू करते हैं तो डेटाबेस से स्ट्रक्चर भी डिलीट हो जाता है।
mysql> Drop table testing; Query OK, 0 rows affected (0.08 sec) mysql> DESCRIBE testing; ERROR 1146 (42S02): Table 'query.testing' doesn't exist