حذف مقابل إسقاط
ينتمي كلا الأمرين Delete و Drop إلى عبارات SQL (لغة الاستعلام الهيكلية) ، ويتم استخدامها في حالة إزالة البيانات من قاعدة البيانات. الحذف هو أمر DML (لغة معالجة البيانات). يقوم بحذف بعض أو كل البيانات من جدول وفقًا للشرط الذي حدده المستخدم. تقوم عبارة Delete (حذف) بإزالة سجلات البيانات فقط في الجدول ، ولكن بنية الجدول تظهر نفسها في قاعدة البيانات. أمر الإسقاط هو عبارة DDL (لغة تعريف البيانات) ، ويعمل بطريقة مختلفة عن أمر الحذف. إنه ليس بيانًا شرطيًا ، لذا يحذف البيانات بأكملها من الجدول ، كما أنه يزيل بنية الجدول وجميع المراجع إلى هذا الجدول بشكل دائم من قاعدة البيانات.
حذف البيان
كما هو مذكور أعلاه ، يقوم حذف العبارة بإزالة البيانات من الجدول بناءً على الشرط المقدم ، ويتم استخدام جملة Where مع Delete لتحديد هذا الشرط المطلوب. إذا لم يتم ذكر جملة Where مع Delete ، تتم إزالة جميع بيانات الجدول من الجدول. ومع ذلك ، في عملية الحذف ، تظل بنية الجدول الموجودة كما هي. لذلك ، لا يحتاج المستخدم إلى تحديد بنية الجدول إذا كان يريد إعادة استخدام الجدول مرة أخرى. نظرًا لأن Delete هو أمر DML ، فإنه لا يلتزم تلقائيًا بعد التنفيذ. لذلك ، يمكن التراجع عن هذا للتراجع عن العملية السابقة. خلاف ذلك ، يجب استدعاء بيان الالتزام لجعل التغييرات دائمة. أثناء تنفيذ عبارة Delete ، فإنه يسجل إدخالاً في سجل المعاملات لكل حذف صف. لذلك ، هذا يؤثر على إبطاء العملية. كذلك ، فإنه لا يلغي تخصيص المساحة المستخدمة بعد التنفيذ.
التالي هو بناء جملة حذف العبارة
حذف من
أو
حذف من حيث
إسقاط بيان
Drop statement لا يزيل فقط جميع سجلات الجدول من قاعدة البيانات دون أي شرط ، ولكنه يزيل أيضًا بنية الجدول وقيود التكامل والفهارس وامتيازات الوصول للجدول ذي الصلة من قاعدة البيانات بشكل دائم. لذلك ، لم تعد جميع العلاقات الخاصة بالجداول الأخرى موجودة أيضًا ، وتتم إزالة المعلومات المتعلقة بالجدول من قاموس البيانات. لذلك ، إذا أراد المستخدم إعادة استخدام الجدول ، فعليه / عليها تحديد بنية الجدول وجميع المراجع الأخرى للجدول مرة أخرى. Drop هو أمر DDL وبعد تنفيذ الأمر ، لا يمكن التراجع عنه مرة أخرى ، لأن أمر Drop يستخدم التزامًا تلقائيًا. لذلك ، يجب على المستخدم توخي الحذر الشديد في استخدام هذا الأمر. لا يمكن تطبيق بيان الإسقاط على جداول النظام ، كما لا يمكن استخدامه للجداول التي لها قيود مفتاح خارجي.
يمكن استخدام الأمر Drop ليس فقط لجداول SQL ، ولكن أيضًا لقواعد البيانات وطرق العرض وأعمدة الجدول ، ويتم فقد جميع البيانات المخزنة في هذه الكائنات إلى الأبد مع الكائنات.
التالي هو بناء الجملة النموذجي لأمر الإسقاط.
إسقاط الجدول
ما الفرق بين الحذف والإفلات؟
1. أوامر Delete والإفلات يزيلان بيانات الجدول من قاعدة البيانات.
2. لكن عبارة الحذف تؤدي الحذف المستند إلى الشرط ، في حين أن أمر الإفلات يحذف السجلات بأكملها في الجدول.
3. أيضًا ، تقوم عبارة Delete بإزالة الصفوف الموجودة في الجدول فقط وتحافظ على بنية الجدول كما هي ، بينما يزيل أمر Drop جميع البيانات الموجودة في الجدول وهيكل الجدول ، كما يزيل جميع المراجع الأخرى من قاعدة البيانات.
4. الحذف عبارة عن جملة DML ، بينما الإسقاط هو أمر DDL. لذلك ، يمكن التراجع عن عملية الحذف وهي ليست ملتزمة تلقائيًا ، بينما لا يمكن التراجع عن عملية الإفلات بأي شكل من الأشكال لأنها عبارة ملتزمة تلقائيًا.
5. لا يمكن استخدام أمر Drop في الجداول التي تمت الإشارة إليها بواسطة قيود المفتاح الخارجي ، بينما يمكن استخدام الأمر Delete بدلاً من ذلك.
6. يجب استخدام أمر Drop بحذر مع فهم جيد مقارنة بعبارة Delete في تطبيقات SQL.