
Update משנה רשומות קיימות. ההרצאה מראה איך מעדכנים כמה עמודות ברשומה אחת, ולמה אסור לשכוח את Where.Update Products ואחריה Set עם העמודות והערכים החדשים. בדוגמה: ProductName הפך ל-Amazing Aniseed Syrup, UnitPrice ל-15.7 (במקום 10), ו-UnitsInStock ל-60 (במקום 70).Where: מוסיפים Where ProductID = 3. בדרך כלל מעדכנים לפי המפתח הראשי.Where, העדכון חל על כל הרשומות בטבלה: כל המוצרים יקבלו את אותו שם, את אותו מחיר ואת אותה כמות במלאי. המרצה מזהיר במפורש לא לעשות זאת.הטקסט המלא של הדקות הראשונות בהרצאה «עדכון רשומות קיימות ב-SQL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
איך אנחנו מעדכנים רשומה קיימת? לצורך כך אנחנו משתמשים בפקודת Update. אנחנו רושמים איזו טבלה, Products, ואז אילו עמודות אנחנו רוצים על ידי פקודת Set.
לדוגמה, Product Name, ובואו נחליט איזה מוצר אנחנו רוצים לעדכן. אנחנו מעדכנים כמובן תמיד מוצר קיים. בואו נעדכן את הסירופ הזה. במקום לקרוא לו Anyseed Syrup, אנחנו רוצים לעדכן את השם שלו ל-Amazing Aniseed Syrup, שאני אגיד לכם את האמת, אין לי מושג אפילו מה זה הדבר הזה.
ובואו נעדכן לו גם את המחיר, במקום 10 נרשום Unit Price שווה 15.7, ובואו נעדכן גם את Units in Stock שלו, כמה היה לו? Units in Stock היה לו 70, אנחנו רוצים לתת לו הפעם 60. קנו חלק ורק העמודות האלה יקבלו את העדכון.
אבל לא כתבנו איזה מוצר. איך המערכת יודעת שאנחנו רוצים דווקא את זה? בגלל שיש פה את השם? לא הגיוני. אם אנחנו נריץ את הפקודה הזאת as is, מה שיקרה ושעמודת product name תקבל את הערך הזה עבור כל המוצרים.
ועמודת unit price תקבל את הערך הזה עבור כל המחירים, אוי ואבוי. עמודת unit in stock תקבל 60 עבור כל הערכים האלה של כל הטבלה. Don't do it, מה שנקרא, לא כדאי.
אני אחלק את זה רק לכמה שורות, ופה אנחנו רוצים שיהיה לנו פקודת where. איפה בדיוק אנחנו רוצים לבצע את העדכון? עדכונים ברוב המקרים מתבצעים לפי הproduct ID.
לפי ה-id. בואו נגיד, רק אם product id שווה 3, אז תבצע את העדכון הזה. שימו לב, יש לנו את הרשומה הזאת, אני מריץ את הפקודה, הוא כותב לי one row affected, חזרתי בחזרה, בואו נרפרש ctrl+r,