ה הצהרת SQL DELETE משמש למחיקת שורות מטבלה. בדרך כלל הצהרת DELETE מסירה רשומה אחת או יותר מטבלה.
תחביר SQL DELETE
בוא נראה את התחביר של הצהרת SQL DELETE:
DELETE FROM table_name [WHERE condition];
כאן table_name הוא הטבלה שיש למחוק. ה סעיף WHERE ב-SQL משפט DELETE הוא אופציונלי כאן.
SQL DELETE דוגמה
הבה ניקח שולחן, בשם שולחן 'עובד'.
תְעוּדַת זֶהוּת | EMP_NAME | עִיר | שכר |
---|---|---|---|
101 | אדרש סינג | אתר הבנייה | 20000 |
102 | סנג'אי סינג | מירות | 21000 |
103 | פרייאנקה שארמה | ריפור | 25,000 |
104 | אשה סינגהל | דלהי | 26000 |
דוגמה למחיקה עם סעיף WHERE ניתנת להלן:
DELETE FROM EMPLOYEE WHERE ID=101;
הטבלה המתקבלת לאחר השאילתה:
תְעוּדַת זֶהוּת | EMP_NAME | עִיר | שכר |
---|---|---|---|
102 | סנג'אי סינג | מירות | 21000 |
103 | פרייאנקה שארמה | ריפור | 25,000 |
104 | אשה סינגהל | דלהי | 26000 |
דוגמה נוספת להצהרת מחיקה ניתנת להלן
DELETE FROM EMPLOYEE;
הטבלה המתקבלת לאחר השאילתה:
תְעוּדַת זֶהוּת | EMP_NAME | עִיר | שכר |
---|
זה ימחק את כל הרשומות של טבלת העובדים.
זה ימחק את כל הרשומות של טבלת העובדים שבה המזהה הוא 101.
משפט WHERE במשפט SQL DELETE הוא אופציונלי והוא מזהה את השורות בעמודה שנמחקות.
משפט WHERE משמש למניעת מחיקה של כל השורות בטבלה, אם לא תשתמש במשפט WHERE אתה עלול לאבד את כל השורות.
הצהרת DELETE לא חוקית עבור מסד הנתונים של ORACLE
לא ניתן להשתמש בסמל * (כוכבית) כדי למחוק את כל הרשומות.
DELETE * FROM EMPLOYEE;
נושאים של הצהרת SQL DELETE
SQL מחק טבלהאיך מוחקים את הטבלה ומה ההבדל בין הצהרת DELETE ל-TRUNCATE?
SQL מחק שורהכיצד למחוק שורה ממסד הנתונים?
SQL מחק את כל השורותכיצד למחוק את כל השורות בטבלה?
SQL DELETE שכפול שורותכיצד להשתמש במילת מפתח נפרדת כדי למחוק את כל השורות הכפולות מהטבלה?
SQL מחק מסד נתוניםלא נעשה שימוש במשפט DELETE כדי למחוק את מסד הנתונים. אבל יש משפט DROP בשימוש כדי למחוק את מסד הנתונים.
SQL DELETE תצוגהכיצד למחוק את התצוגה ממסד הנתונים?
SQL DELETE JOINכיצד להשתמש בהצהרת מחיקה עם INNER JOIN?