One of the major differences between Truncate And Delete commands is that the former is a DDL command, while the latter is a DML command. Delete as a command is used majorly to delete specific data in the table without affecting the configuration or structure of the table. Truncate, as a command, is used to delete the entire data in the table.
When using Delete command, all you need to do is to specify the part of the table that needs to be deleted. It is capable of this function because it uses the "where clause." Since the truncate command is used to delete all data contained in a table, there is no need for the "where clause."
The Delete command works by locking the rows to be deleted first before deleting them. In the case of the truncate command, the whole table is locked, so it can be easy to delete everything at once.