PracticU

פקודות SQL ב-phpMyAdmin

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

פקודות SQL ב-phpMyAdmin
השיעור מציג את הפקודות הבסיסיות של SQL ב-phpMyAdmin: בחירת מידע, סינון, מיון, הוספה, עדכון ומחיקה של רשומות בטבלת המוצרים. הפקודות האלה ישמשו בהמשך את השירות הרשתי ב-Node.js.
בחירת מידע
1. SELECT: בוחר עמודות מטבלה. כוכבית פירושה כל העמודות, ואפשר לרשום רק עמודות מסוימות.
2. כינוי: AS נותן שם אחר לעמודה בתוצאה בלבד, ולא משנה את הטבלה.
3. WHERE: מסנן רשומות לפי תנאי, למשל מחיר גדול מ-10, או BETWEEN לטווח. בשיעור התברר שאי אפשר להשתמש בכינוי בתוך WHERE, ויש להשתמש בשם המקורי.
4. ORDER BY: ממיין את התוצאות, ו-DESC מסדר בסדר יורד.
5. פונקציות: אפשר להפעיל פונקציה על עמודה, למשל להפוך לאותיות גדולות, לעגל כלפי מטה, או לעגל למספר ספרות נתון.
שינוי נתונים
1. INSERT INTO: מוסיף רשומה חדשה. מחרוזות נכתבות בגרשיים, ומזהה המוצר נוצר אוטומטית.
2. עמודה חובה: לפי מבנה הטבלה שם המוצר חובה, ובכל זאת השאילתה בלי שם מתקבלת. המרצה מציין שזו התנהגות שהוא לא מצפה לה.
3. UPDATE: משנה ערכים אחרי SET. חשוב להוסיף WHERE, אחרת כל הרשומות ישתנו.
4. DELETE: מוחק רשומות לפי תנאי. בלי WHERE המערכת מזהירה לפני ביצוע.
5. מזהה חדש: אחרי מחיקה, המזהה החדש ממשיך את המספור, ולא חוזר על מזהה שנמחק.
שימו לב
1. מפתח זר: מחיקת מוצר שיש לו פירוט הזמנה נכשלת, כי הטבלה ההיא מפנה אליו.
עכשיו אפשר לכתוב שאילתות SELECT, INSERT, UPDATE ו-DELETE, ולדעת מה כל אחת משנה.

פרקי ההרצאה: פקודות SQL ב-phpMyAdmin

  1. 00:00

    למה נלמד SQL בסיסי לפני Node.js

  2. 01:14

    כתיבת שאילתת SELECT ראשונה

  3. 03:11

    כינוי לעמודה עם AS

  4. 04:15

    סינון רשומות עם WHERE

  5. 05:29

    טווח ערכים עם BETWEEN

  6. 06:11

    מיון יורד עם ORDER BY

  7. 06:51

    פונקציות עיבוד מידע כמו UPPER ו-FLOOR

  8. 08:53

    הוספת מוצר חדש עם INSERT

תמלול ההרצאה: פקודות SQL ב-phpMyAdmin

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

  1. 00:02

    הדבר הבא שכדאי לנו לסגור לפני שאנחנו צוללים לכתיבת קוד ב-Note.js זה את התחביר הבסיסי ביותר של שפת SQL בכדי לבצע בחירה של מידע ושינויים על המידע מפני שזה מה שאנחנו הולכים לכתוב אצלנו ב-Restful Service שאנחנו בונים.

  2. 00:25

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

  3. 00:39

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

  4. 00:56

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

  5. 01:12

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

  6. 01:33

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

  7. 01:52

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

  8. 02:19

    אם אני רוצה לערוך את השאילתה הזאת אני יכול לכתוב פה edit, ללחוץ על edit inline והוא פשוט נותן לי לערוך את זה כאן.

  9. 02:26

    מה קורה אם אני לא רוצה את כל הרשומות, אני רוצה חלק מהן, אז אני פשוט כותב אותן באזור של הכוכבית על ידי רק השמות שלהם. לדוגמה, בוא תבחר לי את Product ID, Product Name ו-Unit Price.

  10. 02:45

    From Products, Go, ואני רואה עכשיו רק שלוש עמודות. כל הרשומות, אבל רק שלוש עמודות. בואו נערוך אותו. מה קורה אם אנחנו רוצים לתת כינוי לעמודה?

  11. 03:01

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

  12. 03:32

    רק בשאילתה שלנו המידע הוחזר כאילו ששם העמודה הזאת זה ID. אז בואו נראה מה היה לנו, היה לנו סלקט פרודקט ID, asid.seek בואו ניתן גם product name as name ו-unit price as price.

  13. 03:55

    From products, אין צורך בגרש גרש הזה שהוא נותן לנו. נבצע go והנה אנחנו רואים זאת השאילתה ויש לנו id name price שבסופו של דבר זה מה שמוחזר מהדאטאבייס ל-node.js ומ-Node.js אנחנו יכולים להחזיר את זה ללקוח שגולש אלינו.

  14. 04:19

    אוקיי, נקסט, הדבר הבא שאנחנו רוצים זה לא לבחור את כל העמודות, סליחה, את כל הרשומות, אולי לבחור רק חלק מהן. אז בואו נבצע אדיט ונגיד לו כאן where תן לי רק עמודות שה-unit price שלהם.

  15. 04:40

    אני לא כל כך יכול להשתמש בכינוי price, אולי בעצם כן, אתם יודעים מה, בואו נראה אולי כן, גדול מ-10. בואו נראה מה הוא אומר לי לגבי זה.

  16. 04:55

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

  17. 05:09

    נריץ אותו, ואנחנו רואים שהוא נתן לנו רק מחירים בין הגדולים מ-10. זה מה שביקשנו. אוקיי, בואו נערוך ונגיד לו, and unit price קטן מ-20.

  18. 05:27

    בואו נעשה גדול שווה 10, קטן שווה 20, go, ויש לנו רק unit price שהם בין 10 ל-20. אנחנו יכולים לתת כל מיני אופרטורים מיוחדים, לדוגמה unit price between 10 and 20, כל מיני אופרטורים מיוחדים של שפת SQL.

  19. 05:51

    נריץ את זה, ושוב נקבל את אותו הדבר. אנחנו יכולים לבצע איזשהו מיון order by unit price בואו נריץ ואנחנו רואים שזה ממויין לפי unit price יש לו לפעמים כל מיני שגיאות פנימיות כאלה של הסביבה אבל אנחנו רואים שזה עובד אוקיי בואו נמיין ונגיד לו את descending כלומר המיון הוא בסדר יורד הוא לא יתחיל מ-10 ויעלה בואו נריץ

  20. 06:27

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

  21. 06:51

    עוד דבר שאפשר לבצע זה פונקציות שמבצעות מניפולציה על המידע, לדוגמה במקום לבחור את ה-product name as is אנחנו יכולים לקרוא ל-to upper או upper case או איזושהי פונקציה בואו ננסה upper שאולי הופכת את המידע הזה לאותיות גדולות בלבד הנה אנחנו רואים שהמידע הוחזר על ידי אותיות גדולות או לחילופין בואו נלך ל-price ונגיד לו

  22. 07:26

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

  23. 07:51

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

  24. 08:17

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

  25. 08:33

    מה קורה אם אנחנו רוצים להוסיף שורה חדשה בואו ניגש שוב פעם למוצרים בואו ניגש ל sql ונכתוב שאילתה שמוסיפה מוצר חדש. זאת תהיה שאילתת insert insert into שם הטבלה היא product את הלתוך סליחה product name ולתוך unit price בואו נגיד שאני רוצה רק את שני החבר'ה האלה.

  26. 09:13

    תן לי את ה-values ואני ממציא כרגע ערכים. אם הערך שאני ממציא, שאני נותן הוא ערך מכרוזתי או תאריך או מכרוזת או תאריך, אז אני חייב שהערך הזה יהיה בגרש גרש.

  27. 09:32

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

  28. 10:03

    אינקרמנט בואו נעשה גו אני רואה שהוא אומר לי one row inserted נלך למוצרים בואו נראה אם הוא מציג לי את הכל כן הוא מציג לי את כל המוצרים נלך פה למטה ונראה שהנה יש לנו מוצר 78 Apple.

  29. 10:23

    אם לא תיארתי מידע אז הוא נעל. הנה אנחנו רואים שב-unit price, זה קצת לא נראה unit price, אבל הנה זה ה-unit price.

  30. 10:35

    ב-unit price זה 3.5, מחיר של המוצר. אז ככה אנחנו יכולים להוסיף פריט חדש. אם המידע שאני מוסיף חייב להיות, כלומר, product name, בואו רגע נסתכל על ה-structure של הטבלה, ונראה ש-product name בנל הוא מוגדר כ-no.

  31. 10:59

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

  32. 11:10

    אז אם אנחנו נרצה עכשיו ללכת לשאילתת sql ולכתוב איזושהי שאילתה של insert into to product לתוך unit price את הvalues 4.5

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

ההרצאה הקודמת: יבוא ויצוא מסד נתונים ב-phpMyAdmin

ההרצאה הבאה: חיבור של NodeJS למסד נתונים MySQL

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

  • פקודות SQL שחייבים לדעת
  • פקודות ב-MongoDB
  • סיכום פקודות ב-ANSIBLE
  • פקודות break and continue

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

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