TRUNCATE is a DDL command whereas DELETE is a DML command. Hence DELETE operation can be rolled back, but TRUNCATE operation cannot be rolled back. WHERE clause can be used with DELETE and not with TRUNCATE.

4) If the table is Parent of a refrential integrity constraint,you cannot truncate the TABLE.Disable the constraint before issuing the TRUNCATE statement.5)Truncate removes all rows faster than Delete Statement.Syntax: TRUNCATE TABLE tablename; tablename is the name of the table.DELETE:--------1)Delete command only removes records,it remains table structure.2)you can use where statement usind delete command.

Faizal told correctly more ever...just see the following.so u got clear idea about usage also

If you want to quickly remove all rows of data in a table, use [TRUNCATE] command. Sample SQL statement using [TRUNCATE] command :

TRUNCATE TABLE [tablename]

All indexes, triggers, and structures still remain intact. It is faster than [DELETE] command because when using [DELETE] command, the data is removed and logs as transaction one row at a time. On the other hand, [TRUNCATE] will deallocate the entire data page in the table and reduces the number of logs activities; thus performs better compare to [DELETE] command.