Delete vs Drop
هر دو دستور Delete و Drop متعلق به دستورات SQL (زبان پرس و جوی ساختاریافته) هستند و در صورت حذف داده ها از پایگاه داده استفاده می شوند. Delete یک دستور DML (زبان دستکاری داده ها) است. با توجه به شرایطی که کاربر مشخص کرده است، برخی یا همه داده ها را از جدول حذف می کند. دستور حذف فقط رکوردهای داده را در جدول حذف می کند، اما ساختار جدول در پایگاه داده یکسان نشان می دهد. دستور Drop یک عبارت DDL (زبان تعریف داده) است و به روشی متفاوت از دستور Delete عمل می کند. این یک دستور مبتنی بر شرطی نیست، بنابراین کل داده ها را از جدول حذف می کند، همچنین ساختار جدول و تمام ارجاعات به آن جدول را به طور دائم از پایگاه داده حذف می کند.
حذف بیانیه
همانطور که در بالا ذکر شد، دستور Delete داده ها را بر اساس شرایط ارائه شده از جدول حذف می کند، و عبارت Where با Delete برای تعیین این شرط مورد نیاز استفاده می شود. اگر عبارت Where با Delete بیان نشده باشد، تمام داده های جدول از جدول حذف می شوند. با این حال، در عملیات Delete، ساختار جدول موجود ثابت می ماند. بنابراین، اگر کاربر بخواهد دوباره از جدول استفاده کند، نیازی به تعریف ساختار جدول ندارد. از آنجایی که Delete یک دستور DML است، پس از اجرا به طور خودکار انجام نمی شود. بنابراین، برای خنثی سازی عملیات قبلی، می توان آن را به عقب برگرداند. در غیر این صورت، بیانیه Commit باید فراخوانی شود تا تغییرات دائمی شود. هنگام اجرای دستور Delete، برای حذف هر ردیف یک ورودی در گزارش تراکنش ثبت می کند. بنابراین، این بر کاهش سرعت عملیات تأثیر می گذارد. همچنین، فضای مورد استفاده پس از اجرا را اختصاص نمیدهد.
زیر دستور دستور Delete است.
حذف از
یا
حذف از کجا
بیانیه حذف
دستور Drop نه تنها تمام رکوردهای جدول را بدون هیچ شرطی از پایگاه داده حذف می کند، بلکه ساختار جدول، محدودیت های یکپارچگی، شاخص ها و امتیازات دسترسی جدول مربوطه را برای همیشه از پایگاه داده حذف می کند. بنابراین، تمام روابط برای سایر جداول نیز دیگر وجود ندارد و اطلاعات مربوط به جدول از فرهنگ لغت داده حذف می شود. بنابراین، اگر کاربر بخواهد از جدول استفاده مجدد کند، باید ساختار جدول و سایر ارجاعات به جدول را دوباره تعریف کند. Drop یک دستور DDL است و پس از اجرای دستور، نمی توان آن را دوباره برگرداند، زیرا دستور Drop از یک تعهد خودکار استفاده می کند. بنابراین کاربر باید در استفاده از این دستور بسیار دقت کند. دستور Drop را نمی توان در جداول سیستم اعمال کرد و همچنین نمی توان از آن برای جداولی که دارای محدودیت های کلید خارجی هستند استفاده کرد.
دستور Drop نه تنها برای جداول SQL، بلکه برای پایگاه های داده، نماها و ستون های جدول نیز قابل استفاده است و تمام داده های ذخیره شده در این اشیاء همراه با اشیاء برای همیشه از بین می روند.
Following نحو معمولی برای دستور Drop است.
جدول رها کردن
تفاوت بین Delete و Drop چیست؟
1. دستورات Delete and Drop داده های جدول را از پایگاه داده حذف می کند.
2. اما دستور Delete حذف مبتنی بر شرطی را انجام می دهد، در حالی که دستور Drop کل رکوردهای جدول را حذف می کند.
3. همچنین دستور Delete فقط ردیفهای جدول را حذف میکند و ساختار جدول را به همان صورت حفظ میکند، در حالی که دستور Drop تمام دادههای جدول و ساختار جدول را حذف میکند، همچنین سایر مراجع را از پایگاه داده حذف میکند.
4. Delete یک دستور DML است، در حالی که Drop یک دستور DDL است. بنابراین، عملیات Delete را می توان به عقب برگرداند و به طور خودکار متعهد نمی شود، در حالی که عملیات Drop به هیچ وجه قابل برگشت نیست زیرا یک عبارت متعهد خودکار است.
5. دستور Drop را نمی توان در جداولی که توسط محدودیت های کلید خارجی ارجاع داده شده اند استفاده کرد، در حالی که دستور Delete را می توان به جای آن استفاده کرد.
6. دستور Drop باید در مقایسه با عبارت Delete در برنامههای SQL با دقت و درک خوبی استفاده شود.