Puedes hacer esto
DELETE FROM table WHERE id NOT IN ( 2 )
O
DELETE FROM table WHERE id <> 2
Como señaló @Frank Schmitt, es posible que también desee tener cuidado con los valores NULL. Si desea eliminar todo lo que no es 2
(incluidos los NULL) y luego agregue OR id IS NULL
a la cláusula WHERE.