SQL DELETE

באמצעות משפטי DELETE FROM אנו יכולים למחוק רשומה אחת או יותר בבסיס הנתונים שלנו.

המבנה הכללי של משפט DELETE FROM יהיה:

DELETE FROM <שם טבלה> WHERE <רשימת תנאים>;

על מנת להבין טוב יותר את משפטי ה - DELETE FROM הבה נשתמש בטבלה הבאה ששמה בבסיס הנתונים יהיה Products:


Status Price Name ID
לפעיל 100 מוצר 1 123
פעיל 100 מוצר 2 124
לא פעיל 200 מוצר 3 125

דוגמה למחיקת כל הרשומות בטבלה באמצעות DELETE FROM:

בדוגמה הבאה נרצה למחוק את כל הרשומות בטבלת Products. לשם כך נשמיט את הפסוקית WHERE מתוך משפט ה - DELETE FROM. הקוד שלנו במקרה זה ייראה כך:

DELETE FROM Products;

יש המוסיפים * לאחר ה - DELETE כדי לציין שיש למחוק את כל העמודות והרשומות. אין בכך צורך, אם כי זה אפשרי.

דוגמה למחיקת רשומות העונות לתנאים מסוימים באמצעות DELETE FROM

בדוגמה זו נרצה למחוק את כל רשומות המוצרים בטבלת Products אשר מחירם 100 והם אינם פעילים. משפט ה - SQL שלנו ייראה במקרה זה כך:

DELETE FROM Products WHERE Price = 100 AND Status = 'לא פעיל';

במקרה זה תימחק מטבלת Products רשומת "מוצר 1" אשר עונה על שני התנאים שהגדרנו.

שילוב תת שאילתה (Sub query) במשפט DELETE FROM:

לעתים נרצה למחוק רשומות העונות לתנאים המתקיימים לא בטבלה שממנה אנו רוצים למחוק רשומות אלא דווקא בטבלה אחרת. לשם כך ניצור תת שאילתה ונמקם אותה לאחר הפסוקית WHERE כך ששאילתה זו תהיה התנאי למחיקה.

לשם כך נניח שיש לנו טבלה נוספת ששמה Sales והיא נראית כך:

Price TotalSales ID
100 43,000 123
100 3000 124
200 2000 231

כעת נבקש למחוק את כל הרשומות בטבלה Products אשר יש להם מופע בטבלת Sales. לשם כך נשתמש במשפט SQL IN. הקוד שלנו במקרה זה ייראה כך:

DELETE FROM Products WHERE ID IN (SELECT ID FROM Sales);

במקרה זה מוצר 1 ו - מוצר 2 יימחקו מטבלת Products. מוצר 3 אשר ה - ID שלו אינו מופיע בטבלת Sales לא יימחק.

מחיקת שורות מטבלה על פי רשימת ערכים במשפט DELETE FROM:

בדוגמה הבאה נרצה למחוק רשומות מטבלת Sales על פי ערכים ידועים בעמודת TotalSales. דוגמת הקוד שלנו תיראה כך:

DELETE FROM Sales WHERE TotalSales IN (3000, 2000, 32000);

תוצאת המשפט תהיה מחיקת מוצרים 124 ו - 231. מוצר 123 אינו עונה על התנאים למחיקה ולכן לא יימחק.


 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש