PracticU

מחיקה של מוצר ב-MySQL

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

מחיקה של מוצר ב-MySQL
בשיעור מטפלים במחיקת מוצר לפי מזהה.
השלבים העיקריים
1. שאילתת DELETE: השאילתה מוחקת מהטבלה products את הרשומה שהמזהה שלה שווה למזהה שהתקבל. תנאי WHERE הוא חובה, כי בלעדיו יימחקו כל הרשומות בטבלה.
2. הרצה: השאילתה מורצת עם execute. במקרה הזה לא צריך להתעסק עם האובייקט info שחוזר ממנה, כי לא משנה לנו אם המחיקה הצליחה או לא.
3. מוצר שלא קיים: מחיקה של מזהה שלא קיים לא מחזירה שגיאה. השרת עונה בתשובה רגילה, בלי 404.
שימו לב
שגיאה של מסד הנתונים מחזירה 500, אבל ההודעה המלאה מכילה שמות של מסד נתונים, טבלאות ועמודות, ואין לחשוף אותם ללקוח. בסביבת פיתוח מציגים את השגיאה המלאה, ובפרודקשן מחזירים הודעה כללית.
בסוף השיעור אפשר למחוק מוצר לפי מזהה, והמוצר נעלם מהטבלה.
השיעור הבא בקורס: שימוש ב-Escape Characters ב-MySQL - חלק 1

פרקי ההרצאה: מחיקה של מוצר ב-MySQL

  1. 00:00

    פקודת DELETE עם תנאי WHERE

  2. 00:45

    מה מחזיר execute על DELETE

  3. 01:21

    בדיקת מחיקה של מוצר קיים

  4. 02:22

    מחיקת מוצר שלא קיים

  5. 03:02

    מוצר עם הזמנות שלא ניתן למחוק

תמלול ההרצאה: מחיקה של מוצר ב-MySQL

הטקסט המלא של הדקות הראשונות בהרצאה «מחיקה של מוצר ב-MySQL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    מה שנשאר לנו לעשות זה רק לטפל במחיקה. הנה הפונקציה delete product async, היא מקבלת ID. בואו נייצר שאילתה const sql ונגדיר את שאילתת ה-sql המתאימה למחיקה.

  2. 00:19

    delete from, יש לנו פה את product וחובה where, אחרת הוא ינסה כמובן למחוק את כל הרשומות, אנחנו לא רוצים את זה. product ID שווה, ובואו נשתול את ה-ID.

  3. 00:39

    אנחנו רוצים פשוט להוציא לפועל את הפקודה. יש לנו כאן ה-wait ויש לנו כאן execute async הנה ה-sql והוא מחזיר לי כמובן את האינפו שאומר אם הצלחתי או לא הצלחתי אבל אני לא צריך להתעסק עם האינפו הזה כי זה לא כזה משנה לי אם הוא הצליח או לא הצליח אם הוא הצליח

  4. 01:08

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

  5. 01:43

    לנו זה מוצר שקיים לנו שם. body לא אמור להיות לי למה יש לי פה את זה הוא הוא משאיר לי את זה מהבאדי הקודם ביי ביי אין לי באדי ויש לנו פה delete 80 סבבה בואו נבצע send והוא אומר לנו 204 no content.

  6. 02:08

    מה בעצם כתוב לנו על הקונסול in האובייקט והוא אומר לי affected rows 1 אוקיי זה אומר שורה אחת הושפעה אם אנחנו מסתכלים על הדאטאבייס זה היה 80 של מקודם בואו נרפרש נגלול פה למטה.

  7. 02:27

    אין לנו 80 נמחק זה בסדר בואו ניגש לפוסטמן ונגיד שמע בוא תמחק את 800 אין לנו ID 800 send אומר לנו 404 no content לפי המוסכמה של הרסט זה בסדר אנחנו לא מוכנים להחזיר 404 אובייקט לא נמצא בשביל שנמחק אותו הוא לא נמצא בסדר אתה רוצה למחוק אותו הוא לא קיים הכל בסדר אם אנחנו מסתכלים על הקונסול אנחנו רואים שהוא אומר לנו אפקטד רוז 0 בכל מקרה

  8. 02:59

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

  9. 03:10

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

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: עדכון חלקי של מוצר ב-MySQL

ההרצאה הבאה: שימוש ב-Escape Characters ב-MySQL - חלק 1

הרצאות קשורות מקורסים אחרים

  • הרצאה על Azure MySQL
  • התקנה של mysql
  • מחיקה של משאבים בענן
  • פקודות בסיסיות ב-MySQL

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React