الأمر TRUNCATE يحذف كل صفوف الجدول دفعة واحدة، وأسرع بكثير من DELETE على الجداول الكبيرة. يبقى الجدول نفسه وأعمدته، لكن يصبح فارغًا.
TRUNCATE TABLE logs;
الفرق بينه وبين DELETE
DELETEيمكن أن يحذف صفوفًا محددة بشرطWHERE، أماTRUNCATEفيحذف الكل فقط.TRUNCATEأسرع لأنه لا يحذف الصفوف واحدًا واحدًا.TRUNCATEفي MySQL يعيد عدّادAUTO_INCREMENTإلى البداية.
DELETE FROM logs WHERE created_at < '2024-01-01';
انتبه: في MySQL لا يمكن التراجع عن TRUNCATE. خذ نسخة احتياطية قبل استخدامه على بيانات مهمة.