logo

הצהרת מחיקת MySQL

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

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

תחביר:

להלן התחביר הממחיש כיצד להשתמש במשפט DELETE:

תאריך javascript
 DELETE FROM table_name WHERE condition; 

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

אם ברצוננו למחוק רשומות ממספר טבלאות באמצעות שאילתת DELETE אחת, עלינו להוסיף את ה לְהִצְטַרֵף סָעִיף עם ההצהרה DELETE.

אם ברצוננו למחוק את כל הרשומות מטבלה מבלי לדעת את ספירת השורות שנמחקו, עלינו להשתמש ב- קצץ טבלה אמירה שנותנת ביצועים טובים יותר.

תן לנו להבין כיצד פועלת הצהרת DELETE MySQL באמצעות דוגמאות שונות.

דוגמאות להצהרת MySQL DELETE

כאן, אנחנו הולכים להשתמש ב- 'עובדים' ו 'תַשְׁלוּם' טבלאות להדגמה של הצהרת DELETE. נניח שטבלאות העובדים והתשלומים מכילות את הנתונים הבאים:

שאילתת מחיקת mysql
שאילתת מחיקת mysql

אם נרצה למחוק עובד שלו emp_id הוא 107 , עלינו להשתמש במשפט DELETE עם סעיף WHERE. ראה את השאילתה למטה:

 mysql> DELETE FROM Employees WHERE emp_id=107; 

לאחר ביצוע השאילתה, הוא יחזיר את הפלט כמו בתמונה למטה. לאחר מחיקת הרשומה, אמת את הטבלה באמצעות המשפט SELECT :

שאילתת מחיקת mysql

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

שאילתת מחיקת mysql

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

MySQL DELETE ו-LIMIT סעיף

פסקת MySQL Limit משמשת להגבלת ספירת השורות שמחזירות מערך התוצאות, במקום להביא את כל הרשומות בטבלה. לפעמים אנחנו רוצים להגביל את מספר השורות שיימחקו מהטבלה; במקרה כזה, נשתמש ב- לְהַגבִּיל סעיף כדלקמן:

 DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count; 

יש לציין שסדר השורות בטבלת MySQL אינו מוגדר. לכן, עלינו להשתמש תמיד ב- מיין לפי סעיף תוך שימוש בסעיף LIMIT.

לדוגמה , השאילתה הבאה ממיינת תחילה את העובדים לפי שמותיהם בסדר אלפביתי ומוחקת את שלושת העובדים הראשונים מהטבלה:

 mysql> DELETE FROM Employees ORDER BY name LIMIT 3; 

זה ייתן את הפלט שלהלן:

שאילתת מחיקת mysql

סעיף מחיקה והצטרפות של MySQL

הסעיף JOIN משמש להוספת שתי הטבלאות או יותר ב-MySQL. נוסיף את סעיף JOIN עם המשפט DELETE בכל פעם שנרצה למחוק רשומות ממספר טבלאות בתוך שאילתה אחת. ראה את השאילתה למטה:

 mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102; 

תְפוּקָה:

לאחר הביצוע, נראה את הפלט כמו בתמונה למטה:

שאילתת מחיקת mysql

לקריאת מידע נוסף על הצהרת DELETE עם סעיף JOIN, לחץ כאן .