אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » מדריכים » לימוד MySQL » שליפת נתונים בסיסית באמצעות MySQL

שליפת נתונים בסיסית באמצעות MySQL

רן בר-זיק ספטמבר 14, 2009 10:22 am אין תגובות

במאמר מוסבר כיצד לשלוף נתונים מה-MySQL באמצעות פקודת SELECT.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

במאמר הקודם למדנו על הכנסת נתונים לטבלת MySQL באמצעות INSERT. כעת אנו נלמד על שליפת נתונים. לשם דוגמא אנו נניח שיש לנו טבלה ששמה הוא my_costumer כמו זו שיצרנו במאמר הקודם. בטבלה יש נתונים כאלו:


+-------------+---------------+--------------+--------------+
| costumer_id | costumer_name | costumer_sex | costumer_age |
+-------------+---------------+--------------+--------------+
|           1 | moshe         | male         |           22 |
|           2 | Haim          | male         |           26 |
|           3 | Yaakov        | male         |           19 |
|           4 | Dan           | male         |           19 |
|           5 | Dana          | female       |           42 |
|           6 | Rina          | female       |           24 |
|           7 | Omri          | male         |            9 |
+-------------+---------------+--------------+--------------+

על מנת לשלוף את כל הנתונים מטבלה כלשהי, אנו משתמשים בפקודת SELECT באופן פשוט ביותר:


SELECT * FROM my_costumer;

אחרי שאנו עושים את זה, תופיע הטבלה עם כל הנתונים שיש לנו. במקרה הזה 7 לקוחות. קל ונעים לראות טבלה כל כך קטנה בקלות כזו. אך נניח ואנו רוצים לשלוף רק את הנשים (אלו שהמין שלהן הוא female). אם כך, גם זה פשוט למדי:



SELECT * FROM my_costumer WHERE costumer_sex = 'female';

ואז זה מה שיצא – כל הנשים:


+-------------+---------------+--------------+--------------+
| costumer_id | costumer_name | costumer_sex | costumer_age |
+-------------+---------------+--------------+--------------+
|           5 | Dana          | female       |           42 |
|           6 | Rina          | female       |           24 |
+-------------+---------------+--------------+--------------+

כמובן שכאן אנו מקבלים את כל הפרטים על הנשים, ואם אנו רוצים רק את השמות שלהם? שינוי קטן בשאילתת ה-SELECT שלנו תפתור את הבעיה:


SELECT costumer_name FROM my_costumer WHERE costumer_sex = 'female';

ואז זה מה שיצא לנו:


+---------------+
| costumer_name |
+---------------+
 | Dana          |
 | Rina          |
+---------------+

אם אנו רוצים להציג גם את הגיל וגם את השם, אין פשוט מזה:


SELECT costumer_name, costumer_age FROM my_costumer WHERE costumer_sex = 'female';

וכך זה יראה, כל הנשים עם הגילאים שלהן:


+---------------+--------------+
| costumer_name | costumer_age |
+---------------+--------------+
| Dana          |           42 |
| Rina          |           24 |
+---------------+--------------+

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


SELECT costumer_name, costumer_age FROM my_costumer WHERE costumer_sex='f
emale' AND costumer_name = 'Rina';

וזה יביא את התוצאה הבאה:


+---------------+--------------+
| costumer_name | costumer_age |
+---------------+--------------+
| Rina          |           24 |
+---------------+--------------+

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


 SELECT * FROM my_costumer WHERE costumer_sex='m
ale';

זה יביא לנו את התוצאה הבאה:


+-------------+---------------+--------------+--------------+
| costumer_id | costumer_name | costumer_age | costumer_sex |
+-------------+---------------+--------------+--------------+
|           1 | moshe         |           26 | male         |
|           2 | Haim          |           22 | male         |
|           3 | Yaakov        |           19 | male         |
|           4 | Dan           |           19 | male         |
|           5 | Dana          |           42 | female       |
|           6 | Rina          |           24 | female       |
|           7 | Omri          |            9 | male         |
+-------------+---------------+--------------+--------------+

כפי שאנו רואים, הטבלה מסודרת לפי סדר האינדקס. אך אם אנו רוצים להציג אותה בסדר אחר, אין קל מזה, פשוט נעזרים ב-ORDER BY וב- ASC או DESC:


select * from my_costumer ORDER BY costumer_age DESC;

יסדר את כל הלקוחות לפי גילאים בסדר יורד (הגיל הגבוה יותר קודם):


+-------------+---------------+--------------+--------------+
| costumer_id | costumer_name | costumer_age | costumer_sex |
+-------------+---------------+--------------+--------------+
|           5 | Dana          |           42 | female       |
|           1 | moshe         |           26 | male         |
|           6 | Rina          |           24 | female       |
|           2 | Haim          |           22 | male         |
|           3 | Yaakov        |           19 | male         |
|           4 | Dan           |           19 | male         |
|           7 | Omri          |            9 | male         |
+-------------+---------------+--------------+--------------+

החלפת ה-DESC ב-ASC תסדר את הטבלה לפי גילאים בסדר הפוך מהנמוך לגבוה. כפי שאנו רואים, יש בטבלה שני אנשים שהגיל שלהם זהה. יעקב ודן – כיצד אנו יכולים לקבוע את הסידור המשני שהוא זה שקובע את הסדר במידה והסדר הראשוני (במקרה שלנו – הגיל) יוצא זהה? פשוט מוסיפים את הסידור באופן הבא:


select * from my_costumer ORDER BY costumer_age DESC, costumer_name ASC;

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


select * from my_costumer ORDER BY costumer_age ASC LIMIT 3;

וכך זה יראה:


+-------------+---------------+--------------+--------------+
| costumer_id | costumer_name | costumer_age | costumer_sex |
+-------------+---------------+--------------+--------------+
|           7 | Omri          |            9 | male         |
|           3 | Yaakov        |           19 | male         |
|           4 | Dan           |           19 | male         |
+-------------+---------------+--------------+--------------+

⚠️המדריכים כאן הם טעימה בלבד! יש ספר מקיף המלמד MySQL מרמת בסיס ועד רמה מתקדמת. הספר הדיגיטלי, שרלוונטי גם לכל מסדי הנתונים שעובדים עם SQL – זמין כאן כחלק מהפרויקט "ללמוד ג'אווהסקריפט בעברית" – זו הדרך הטובה ביותר ללמוד באופן מקיף MySQL.

במאמר הבא נמשיך לפרט על פקודת ה-SELECT שהיא הפקודה החשובה ביותר ב-MySQL.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
למדריך ה-MySQL הקודםשינוי טבלה ב-MySQL והכנסת נתונים
למדריך ה-MySQL הבאשליפת נתונים בסיסית ב-MySQL עם אופרטורים
לתפריט המדריכים ל-MySQL
MySQL
ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד