difference between drop and truncate

Drop and Truncate

Module - 3 DDL Commands
Drop and Truncate


"Drop" in SQL refers to the removal of a table or database from a server. "Truncate" is a SQL command that removes all rows from a table but keeps the table's structure intact. In this lesson, we will learn about how to Drop or Truncate and when the individuals are used.

What are Drop and Truncate?

Drop and Truncate are two common SQL statements utilized to erase information from a table. The DROP statement for all time erases the desired table and all the information stored in it. In contrast, the TRUNCATE statement expels all information from a table but does not erase the table itself. Both commands are effective once you remove a large number of records rapidly, but they have distinctive implications for the information stored within the table. The DROP command is more permanent and should be utilized cautiously, whereas the TRUNCATE command is more frequently utilized to reset a table to its empty state.


DROP is an SQL command utilized to erase an object such as a table, database, index, view, or stored procedure. It could be a DDL (Data Definition Language) statement that's utilized to remove a schema object from the database. DROP is utilized to remove a table or database from the database in conjunction with all its related information. DROP could be a permanent operation and cannot be fixed, so caution should be taken when utilizing the command.


DROP TABLE table_name;


DROP TABLE orders;

This command will delete the table called 'orders' from the database. All data stored within the table will be lost.


TRUNCATE could be a SQL statement that's utilized to erase all the records from a table in a database. It is distinctive from the Delete statement, which only erases the rows that match an indicated condition. TRUNCATE is commonly used when deleting huge amounts of information from a database table because it is faster and more effective than a Delete statement. TRUNCATE, too resets the table's identity column, in case any, back to its seed value.


TRUNCATE TABLE table_name;



This statement will delete all the rows in the 'orders' table and reset the identity column, if any.

Difference between DROP and TRUNCATE

It completely removes a table from the database.It deletes all the rows from the table.
Rollback is not possible after deletion.Rollback is possible after deletion.
It is a DDL Command.It is a DDL Command.
It is slower than truncate.It is faster than drop.
It can be used with a where clause.It can't be used with a where clause.
It deletes indexes and triggers.It doesn't delete indexes and triggers.


This lesson clarifies the contrasts between the SQL commands "Drop" and "Truncate". "Drop" permanently erases a table or database and all stored information, whereas "Truncate" removes all information from a table but keeps the table structure intact. Both commands are useful for rapidly erasing expansive amounts of information, but "Drop" should be used cautiously because it may be a permanent operation.

Key takeaways

  1. DROP is used to delete entire tables or views from a database.
  2. TRUNCATE deletes all the records in a table but not the table itself.
  3. Both DROP and TRUNCATE can be rolled back in case of accidental deletions.
  4. When using DROP, foreign key constraints must be dropped manually, but TRUNCATE automatically drops them.
  5. DROP is slower than TRUNCATE as it requires more resources to delete the entire table and its indices.
  6. TRUNCATE is faster and takes fewer resources to delete all the records from the table.


1. What is the syntax to drop a database in SQL? 

  1. DROP DATABASE database_name; 
  2. DROP TABLE database_name; 
  3. DELETE DATABASE database_name; 
  4. DELETE TABLE database_name;

Answer: a. DROP DATABASE database_name;

2. What is the syntax to truncate a table in SQL? 

  1. TRUNCATE TABLE table_name; 
  2. DELETE TABLE table_name;  
  3. DROP TABLE table_name;  
  4. DROP DATABASE table_name;

Answer: a. TRUNCATE TABLE table_name;

3. What is the difference between DROP and TRUNCATE commands? 

  1. DROP deletes the data permanently while TRUNCATE resets the auto-increment value. 
  2. DROP deletes the table permanently, while TRUNCATE only deletes the data. 
  3. DROP deletes the data permanently, while TRUNCATE only deletes the table. 
  4. DROP only deletes the table, while TRUNCATE deletes the data permanently.

Answer: b. DROP deletes the table permanently while TRUNCATE only deletes the data.

4. What happens to the foreign key constraints when a table is truncated? 

  1. The foreign key constraints are deleted. 
  2. The foreign key constraints are maintained. 
  3.  The foreign key constraints are reset. 
  4. The foreign key constraints are updated.

Answer: b. The foreign key constraints are maintained.

Related Programs
Full Stack Data Science with Placement Guarantee of 5+ LPA
20,000 people are doing this course
Become a job-ready Data Science professional in 30 weeks. Join the largest tech community in India. Pay only after you get a job above 5 LPA.
Related Tutorials

AlmaBetter’s curriculum is the best curriculum available online. AlmaBetter’s program is engaging, comprehensive, and student-centered. If you are honestly interested in Data Science, you cannot ask for a better platform than AlmaBetter.

Kamya Malhotra
Statistical Analyst
Fast forward your career in tech with AlmaBetter
Vikash SrivastavaCo-founder & CPTO AlmaBetter
Vikas CTO
Related Tutorials to watch
Top Articles toRead
Made with heartin Bengaluru, India
  • Location
  • 4th floor, 133/2, Janardhan Towers, Residency Road, Bengaluru, Karnataka, 560025
  • Follow Us
  • facebookinstagramlinkedintwitteryoutubetelegram

© 2022 AlmaBetter