دستور حذف delete در sql server

دستور Delete در SQL

توسط admin | گروه SQL Server | 1403/07/24

نظرات 0

دستور DELETE در SQL برای حذف رکوردها از یک جدول پایگاه داده استفاده می‌شود. با استفاده از این دستور می‌توانید یک یا چند رکورد را بر اساس شرایط مشخص حذف کنید.

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

 
DELETE FROM TableName WHERE condition;

بخش‌های اصلی دستور DELETE:

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

مثال‌های کاربردی:

مثال ۱: حذف یک رکورد خاص

فرض کنید جدولی به نام Employees داریم که شامل ستون‌های EmployeeID، FirstName، LastName و Position است. اگر بخواهیم کارمندی با EmployeeID برابر با 5 را حذف کنیم:

 
DELETE FROM Employees WHERE EmployeeID = 5;

این دستور رکوردی که EmployeeID آن 5 است را از جدول Employees حذف می‌کند.

مثال ۲: حذف رکوردهای بر اساس شرط

اگر بخواهیم تمام کارمندانی که در بخش Sales کار می‌کنند را حذف کنیم:

 
DELETE FROM Employees WHERE Department = 'Sales';

 

این دستور تمام رکوردهایی که مقدار Department آن‌ها Sales است را حذف می‌کند.

مثال ۳: حذف تمام رکوردهای جدول

اگر بخواهیم تمام رکوردهای جدول Employees را حذف کنیم:

DELETE FROM Employees;

 

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

مثال ۴: استفاده از شرط‌های پیچیده‌تر

اگر بخواهیم تمام کارمندانی که سن آن‌ها بیشتر از 60 سال است و در بخش HR کار می‌کنند را حذف کنیم:

 
DELETE FROM Employees WHERE Age > 60 AND Department = 'HR';

 

مثال ۵: حذف با استفاده از زیرپرسش (Subquery)

فرض کنید می‌خواهیم تمام کارمندانی را حذف کنیم که در شهرهایی کار می‌کنند که در جدول Offices مشخص شده‌اند و این شهرها در کشور USA نیستند:

 
DELETE FROM Employees WHERE OfficeID IN ( SELECT OfficeID FROM Offices WHERE Country <> 'USA' );

نکات مهم:

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

  • پشتیبان‌گیری (Backup): قبل از انجام عملیات حذف گسترده، از داده‌های خود پشتیبان تهیه کنید.

  • استفاده از TRANSACTION: می‌توانید از تراکنش‌ها برای اطمینان از قابلیت بازگشت (Rollback) در صورت وقوع خطا استفاده کنید:

     
    BEGIN TRANSACTION; DELETE FROM Employees WHERE Department = 'Sales'; -- اگر همه چیز درست بود COMMIT; -- اگر می‌خواهید عملیات را لغو کنید ROLLBACK;
  • حذف تمام رکوردها با TRUNCATE: اگر می‌خواهید تمام رکوردهای یک جدول را حذف کنید و قصد دارید فضای اشغال شده را آزاد کنید، می‌توانید از دستور TRUNCATE TABLE استفاده کنید که سریع‌تر است:

     
    TRUNCATE TABLE Employees;

    توجه: TRUNCATE TABLE قابل بازگشت (Rollback) نیست و باید با احتیاط استفاده شود.

خلاصه:

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

 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر