DROP TABLE टेबल को **पूरी तरह हटा देता है** - डेटा और संरचना दोनों। यदि केवल डेटा हटाकर संरचना रखनी हो तो TRUNCATE TABLE उपयोग करें।
DROP TABLE उदाहरण
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20)
);
mysql> INSERT INTO DemoTable(Name) VALUES('Larry');
mysql> INSERT INTO DemoTable(Name) VALUES('Chris');
mysql> SELECT * FROM DemoTable;
+----+-------+ | Id | Name | +----+-------+ | 1 | Larry | | 2 | Chris | +----+-------+
DROP TABLE 실행
mysql> DROP TABLE DemoTable; Query OK, 0 rows affected (0.18 sec)
अब टेबल मौजूद नहीं है
mysql> SELECT * FROM DemoTable; ERROR 1146 (42S02): Table 'DemoTable' doesn't exist mysql> DESC DemoTable; ERROR 1146 (42S02): Table 'DemoTable' doesn't exist
TRUNCATE TABLE उदाहरण (संरचना बनी रहती है)
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(20)
);
mysql> INSERT INTO DemoTable(FirstName) VALUES('Chris');
mysql> INSERT INTO DemoTable(FirstName) VALUES('Robert');
mysql> SELECT * FROM DemoTable;
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | Chris | | 2 | Robert | +----+-----------+
TRUNCATE TABLE 실행
mysql> TRUNCATE TABLE DemoTable; Query OK, 0 rows affected (0.06 sec)
डेटा हट गया, संरचना बनी रही
mysql> SELECT * FROM DemoTable; Empty set (0.00 sec) mysql> DESC DemoTable;
+-----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | FirstName | varchar(20) | YES | | NULL | | +-----------+-------------+------+-----+---------+----------------+
तुलना
| कमांड | डेटा हटाता है | संरचना हटाता है | ऑटो इंक्रीमेंट रीसेट |
|---|---|---|---|
| DROP TABLE | हाँ | हाँ | N/A |
| TRUNCATE TABLE | हाँ | नहीं | हाँ |
| DELETE FROM | हाँ | नहीं | नहीं |