logo

SQL מחק טבלה

הצהרת DELETE משמשת למחיקת שורות מטבלה. אם ברצונך להסיר שורה מסוימת מטבלה, עליך להשתמש בתנאי WHERE.

 DELETE FROM table_name [WHERE condition]; 

אבל אם לא תציין את התנאי WHERE זה יסיר את כל השורות מהטבלה.

 DELETE FROM table_name; 

יש עוד כמה מונחים הדומים להצהרת DELETE כמו הצהרת DROP והצהרת TRUNCATE אבל הם לא בדיוק זהים, יש כמה הבדלים ביניהם.


ההבדל בין הצהרות DELETE ו-TRUNCATE

יש הבדל קל ב-B/W הצהרת מחיקה וקטיעה. ה הצהרת מחק מוחק רק את השורות מהטבלה בהתבסס על התנאי שהוגדר בסעיף WHERE או מחיקת כל השורות מהטבלה כאשר התנאי לא צוין.

אבל זה לא משחרר את השטח שמכיל ליד השולחן.

ה משפט TRUNCATE: הוא משמש למחיקת כל השורות מהטבלה ולשחרר את החלל המכיל.

בוא נראה טבלת 'עובדים'.

Emp_id שֵׁם כתובת שכר
1 אַרִי אללהבאד 22000
2 שוראבי ורנאסי 13000
3 פאפו דלהי 24000

בצע את השאילתה הבאה כדי לקצץ את הטבלה:

 TRUNCATE TABLE employee; 

הבדל בש/לב הצהרות DROP ו-TRUNCATE

כאשר אתה משתמש במשפט ה-drop הוא מוחק את שורת הטבלה יחד עם הגדרת הטבלה כך שכל הקשרים של הטבלה הזו עם טבלאות אחרות לא יהיו תקפים יותר.

כאשר אתה מוריד טבלה:

  • מבנה השולחן יושמט
  • הקשר יופסק
  • מגבלות היושרה יבוטלו
  • גם הרשאות הגישה יוסרו

מצד שני כשאנחנו חתוך שולחן, מבנה הטבלה נשאר זהה, כך שלא תתמודד עם אף אחת מהבעיות לעיל.