آشنایی با پایگاه داده‌ها-SQL-introduction to databasesدوره رایگان-الگوریتم اول-free-آموزش کامل

لطفا صبر کنید...

دستور DELETE در SQL برای حذف داده‌ها از یک جدول استفاده می‌شود. این دستور به شما این امکان را می‌دهد که رکوردهای مشخصی را از جدول حذف کنید. به طور مشابه با دستور UPDATE، استفاده از شرط WHERE در دستور DELETE ضروری است تا فقط رکوردهای خاصی حذف شوند و نه تمام داده‌های جدول.

ساختار کلی دستور DELETE:

DELETE FROM جدول
WHERE شرایط;

در این دستور:

  • جدول: نام جدولی است که می‌خواهید از آن داده‌ها را حذف کنید.
  • WHERE شرایط: شرطی است که مشخص می‌کند کدام رکوردها باید حذف شوند. اگر این شرط را نداشته باشید، تمام رکوردهای جدول حذف خواهند شد.

مثال‌های مختلف برای استفاده از دستور DELETE:

  1. حذف یک رکورد خاص: فرض کنید در جدول کاربران می‌خواهید رکورد کاربری که شناسه آن برابر با 1 است را حذف کنید:

    DELETE FROM کاربران
    WHERE شناسه = 1;

    در این مثال، فقط رکوردی که شناسه آن برابر با 1 است از جدول حذف می‌شود.

  2. حذف چندین رکورد با استفاده از شرط: اگر بخواهید کاربرانی که در شهر "تهران" زندگی می‌کنند را حذف کنید، می‌توانید از دستور زیر استفاده کنید:

    DELETE FROM کاربران
    WHERE شهر = 'تهران';

    این دستور تمام رکوردهای کاربرانی که در شهر تهران زندگی می‌کنند را حذف خواهد کرد.

  3. حذف تمام رکوردهای جدول: اگر بخواهید تمام رکوردهای جدول را حذف کنید، می‌توانید شرط WHERE را حذف کنید. این کار تمام داده‌های جدول را پاک می‌کند:

    DELETE FROM کاربران;

    توجه داشته باشید که این دستور تمام رکوردهای جدول را حذف می‌کند و جدول خالی می‌شود.

  4. حذف رکوردهای بر اساس چندین شرط: اگر بخواهید رکوردهایی را حذف کنید که چندین شرط را برآورده می‌کنند، می‌توانید از ترکیب عملگرهای منطقی AND و OR استفاده کنید:

    DELETE FROM کاربران
    WHERE سن < 18 AND شهر = 'شیراز';

    این دستور تمام کاربرانی که سن آن‌ها کمتر از 18 سال است و در شهر شیراز زندگی می‌کنند را حذف می‌کند.

نکات مهم:

  • احتیاط در استفاده از DELETE: استفاده از دستور DELETE بدون شرط WHERE باعث حذف تمام رکوردهای جدول می‌شود. بنابراین قبل از اجرای دستور DELETE حتماً مطمئن شوید که شرط WHERE به درستی اعمال شده باشد.

  • آزمون تغییرات: قبل از حذف داده‌ها، می‌توانید از دستور SELECT برای مشاهده رکوردهایی که قرار است حذف شوند استفاده کنید:

    SELECT * FROM کاربران WHERE شهر = 'تهران';

    این کار به شما کمک می‌کند تا از حذف اشتباهی رکوردها جلوگیری کنید.

  • حذف رکوردهای وابسته: در صورت وجود روابط وابستگی (مانند کلید خارجی)، ممکن است لازم باشد از تنظیمات ON DELETE CASCADE یا ON DELETE SET NULL استفاده کنید تا حذف رکوردها در جدول‌های وابسته هم اعمال شود.

دستور DELETE ابزار قدرتمندی برای حذف داده‌ها از جدول‌ها است، اما باید با دقت از آن استفاده کنید تا از حذف داده‌های غیرمورد نظر جلوگیری شود.