English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL إعادة التشغيل الجدول (جملة TRUNCATE TABLE)

في هذا الدرس، ستعلم كيفية حذف جميع السجلات من الجدول باستخدام SQL بسرعة.

حذف بيانات الجدول

جملة TRUNCATE TABLE أسرع في حذف جميع السجلات من الجدول مقارنة بجملة DELETE. من الناحية المنطقية، TRUNCATE TABLE يشبهDELETEلا يوجدWHEREالجملة التي تحتوي على

جملة TRUNCATE TABLE تزيل جميع السجلات من الجدول، ولكن تبقى بنية الجدول وكذلك الأعمدة، القيود، الفهرس وغيرها من العناصر. إذا كنت تريد حذف الجدول وإزالة بياناته، يمكنك استخدامDROP TABLEالجملة، ولكن يجب أن تكون حذرًا أثناء تنفيذها.

النحو

قواعد النحو لTRUNCATE TABLE:

TRUNCATE TABLE table_name;

لنفعل عملية إعادة التشغيل للجدول البياني.

تخيل أن لديناemployeeجدول يحتوي على السجلات التالية:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name                 | hire_date           | salary             | dept_id           |
+--------+--------------+------------+--------+---------+
|         1         | Ethan Hunt           | 2001-05-01         |         5000         |                 4         |
|         2         | Tony Montana         | 2002-07-15         |         6500         |                 1         |
|         3         | Sarah Connor         | 2005-10-18         |         8000         |                 5         |
|         4         | Rick Deckard         | 2007-01-03         |         7200         |                 3         |
|         5         | Martin Blank         | 2008-06-24         |         5600         |         NULL         |
+--------+--------------+------------+--------+---------+

الأمر التالي منemployeesحذف جميع السجلات من الجدول:

TRUNCATE TABLE employees;

الآن، بعد تنفيذ هذه الجملة SQL المذكورة أعلاه، إذا حاولت سحبemployeeفي الجدولاختيار السجلات، فإنك ستحصل على مجموعة نتيجة فارغة.

TRUNCATE TABLE مقابل DELETE

على الرغم من أن DELETE و TRUNCATE TABLE يبدوان وكأنهما لهما نفس التأثير، إلا أن طريقة عملهما مختلفة. إليك بعض الفروق الرئيسية بين هذه الجملتين:

  • يحذف جملة TRUNCATE TABLE الجدول ويقوم بإنشائه من جديد، مما يجعل أي قيمة تلقائية للزيادة تعود إلى قيمتها الابتدائية (عادة 1).

  • DELETE يتيح لك فرز الصفوف التي تريد حذفها بناءً على جملة WHERE اختيارية، بينما لا يدعم TRUNCATE TABLE جملة WHERE ويزيل فقط جميع الصفوف.

  • TRUNCATE TABLE أسرع من DELETE ويستخدم موارد النظام أقل، لأن DELETE يبحث في الجدول لتحديد عدد الصفوف المتأثرة، ثم يزيل الصفوف逐ية، ويسجل كل عملية حذف كمدخل في سجل قاعدة البيانات، بينما يزيل TRUNCATE TABLE جميع الصفوف دون تقديم أي معلومات أخرى.

إشارة:إذا كنت ترغب فقط في حذف جميع الصفوف وإعادة إنشاء الجدول كاملاً، استخدم TRUNCATE TABLE. إذا كنت ترغب في حذف عدد محدد من الصفوف بناءً على شرط معين أو لا ترغب في إعادة تعيين القيمة التلقائية للزيادة، استخدم DELETE.