מחיקת נתונים

הושלם

בדיוק כפי ששורת המשפט INSERT מוסיפה תמיד שורות שלמות לטבלה, משפט DELETE מסיר תמיד שורות שלמות.

שימוש ב- DELETE כדי להסיר שורות ספציפיות

הפונקציה DELETE פועלת על קבוצת שורות, המוגדרת באמצעות תנאי במשפט WHERE או מוגדרת בצירוף. המשפט WHERE במשפט DELETE בעל מבנה זהה לפסוקית WHERE במשפט SELECT.

הערה

חשוב לזכור ש- DELETE ללא משפט WHERE תואם יסיר את כל השורות מטבלה. השתמש במשפט DELETE בזהירות.

הקוד הבא מציג את התחביר הבסיסי של משפט DELETE:

DELETE [FROM] <TableName>
WHERE <search_conditions>;

הדוגמה הבאה משתמשת במשפט DELETE כדי להסיר את כל המוצרים מהטבלה שצוינה שהופסקו. קיימת עמודה בטבלה שנקראת 'הופסקה' עבור מוצרים שאינם זמינים עוד, לעמודה יש ערך של 1.

DELETE FROM Production.Product
WHERE discontinued = 1;

השתמש ב- TRUNCATE TABLE כדי להסיר את כל השורות

DELETE ללא משפט WHERE מסיר את כל השורות מטבלה. מסיבה זו, הפונקציה DELETE משמשת בדרך כלל באופן מותנה, עם מסנן במשפט WHERE. אם אתה בטוח שברצונך להסיר את כל השורות ולהשאיר טבלה ריקה, באפשרותך להשתמש במשפט TRUNCATE TABLE. משפט זה אינו מאפשר משפט WHERE ומסיר תמיד את כל השורות בפעולה אחת. להלן דוגמה:

TRUNCATE TABLE Sales.Sample;

הפונקציה TRUNCATE TABLE יעילה יותר מ- DELETE כאשר ברצונך להסיר את כל השורות.