Delete is DML statetment.it only removes the data from table and can use WHERE Clause with it and it can be rolled back.
Truncate is DDL statement .This command delete data from the table .but leaves table structure for future use.It cannot be rolled back
Drop is DDL statement .It removes the table from data dictionary and as well drop the storage held by this table.It cannot be rolled back...
am i correct or missing something ,then please correct me...
TRUNCATE can be used on a single partition too (if you have a partitioned table). And since it is a DDL operation, it doesn't need to generate any undo, which makes it a very fast operation even for tables containing millions of rows.
Since Oracle 10, it is possible to undo a DROP TABLE statement (not TRUNCATE though). If you're interested, see Oracle Flashback Technology.