ההבדל בין DELETE ו- DROP ב- SQL

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 1 אַפּרִיל 2021
תאריך עדכון: 5 מאי 2024
Anonim
כתיבת שאילתות SQL בסיסיות - הרצאה #9 - פעולות הוספת ועדכון מידע (INSERT/UPDATE/DELETE/MERGE)
וִידֵאוֹ: כתיבת שאילתות SQL בסיסיות - הרצאה #9 - פעולות הוספת ועדכון מידע (INSERT/UPDATE/DELETE/MERGE)

תוֹכֶן


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

תוכן: מחק את DROP

  1. טבלת השוואה
  2. הגדרה
  3. הבדלים עיקריים
  4. סיכום

טבלת השוואה

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


הגדרת DELETE

DELETE הוא א שפת מניפולציה של נתונים (DDL). הפקודה DELETE משמשת כשרוצים להסיר כמה או כל הזוויות מקשר. אם איפה נעשה שימוש בסעיף יחד עם הפקודה DELETE, הוא מסיר רק את הצינורות העומדים בתנאי הסעיף WHERE.

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

התחביר של הפקודה DELETE הוא כדלקמן:

מחק מ- relation_name WHERE מצב;

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

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


הגדרת דרופ

דרופ הוא א שפת הגדרת נתונים (DDL). הפקודה DROP מסירה את האלמנטים שנקראו בסכמה כמו יחסים, דומיינים או אילוצים, אתה יכול אפילו להסיר שלם סכמה באמצעות פקודת DROP.

התחביר של הפקודה DROP הוא כדלקמן:

DROP SCHEMA schema_name RESTRICT;

DROP Table table_name CASCADE;

לפקודת DROP שתי אפשרויות התנהגותיות בשם CASCADE ו הגבלה. כאשר משתמשים ב- CASCADE כדי לטפטף את הסכימה, הוא מוחק את כל האלמנטים הקשורים כמו כל היחסים בסכמה, התחומים והאילוצים.

כשאתה משתמש ב- CASCADE כדי להסיר יחס (טבלה) מסכימה, הוא מוחק את כל האילוצים, הצפיות וגם את האלמנטים שמתייחסים לקשר שנשמט.

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

ההבדלים העיקריים בין DELETE ו- DROP ב- SQL

  1. הפקודה DELETE משמשת להסרת חלק מהצינורות או כולם מהשולחן. מצד שני, הפקודה DROP משמשת להסרת סכמות, טבלה, תחום או אילוצים ממסד הנתונים.
  2. DELETE היא פקודת שפת מניפולציה של נתונים ואילו DROP היא פקודת שפת הגדרת נתונים.
  3. ניתן להשתמש ב- DELETE יחד עם סעיף WHERE, אך אין להשתמש ב- DROP יחד עם שום פקודה.
  4. ניתן לבצע חזרה על פעולות שבוצעו על ידי הפקודה DELETE, אך לא במקרה של פקודת DROP.
  5. כפקודה DELETE אל תמחקו את הטבלה ומכאן, אין שטח משוחרר ואילו DROP מוחק את כל הטבלה משחררת את שטח הזיכרון.


סיכום:

הפקודה DELETE משמשת למחיקת השורות בתוך טבלה ופקודת DROP משמשת למחיקת הטבלה השלמה עצמה.