কম্পিউটার টিউটোরিয়াল

MySQL TRUNCATE এবং DROP কমান্ডের মূল পার্থক্য কী?


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)

এখন 'testing' টেবিল TRUNCATE করলে এর কাঠামো ডাটাবেসে বাকি থাকে এবং PRIMARY KEY ও ইনিশিয়ালাইজ হয়।

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

  1. MySQL-এ INT এবং INTEGER ডেটা টাইপের পার্থক্য

  2. MySQL-এ AND এবং && অপারেটরের পার্থক্য কি? (স্ট্যান্ডার্ড vs মালিকানা সিনট্যাক্স)

  3. MySQL-এ TINYINT(1) এবং Boolean-এর পার্থক্য

  4. MySQL-এ != NULL এবং IS NOT NULL-এর পার্থক্য