רוצה לעזור?
אם אתה מעוניין לעזור לנו בפיתוח האתר, באפשרותך לשלוח מאמר\מדריך אל רשימות המאמרים שלנו, תודה על שיתוף הפעולה, הנהלת האתר.
|
|
דף ראשי -> תכנות ובניית אתרים -> SQL -> שליפת נתונים
|
| שליפת נתונים |
|
|
לכל פקודה שאנו רושמים ב-SQL קוראים שאילתא (Query), אחת השאילתות הנפוצות ביותר היא השאילתא שמושכנת נתונים מהמסד.
הקוד הפשוט נראה כך:
|
קוד
|
select * from table_name
|
בשאילתא הזו ביקשנו לבחור את כל המידע מכל השדות (הכוכבית * שולפת את המידע מכל השדות! במערכות מקצועיות עדיף לרשום את שמות השדות), את כל המידע אנו שולפים מהטבלה בשם table_name.
כמובן שנגיד בקוד עצמו ככה בלבד לא נצליח לשלוף ולהדפיס על דף את כל הנתונים במסד, כאן אנחנו נלמד רק איך לשלוף את הנתונים במדריך אחר נלמד איך להדפיס את הנתונים ולהשתמש בהם.
יש פונקציות רבות שעוזרות לנו לשלוף את מה שאנחנו רוצים בדיוק או לשלוף כמה נתונים מכמה טבלאות בשאילתא אחת, כמובן שיש שאילתות שהן ממש ארוכות.
לדוגמא יש פונקציה בשם where, והשימוש שלה יכול לעבוד כך:
|
קוד
|
select * from users where username='Lior'
|
כאן ביקשנו בעצם לשלוף את כל שדות המידע שיש בטבלה users על המשתמש בשם Lior.
אם יש לכם 5 משתמשים רשומים למערכת, אז אנחנו נותנים לכל משתמש ID (מס' זיהוי), יש דרך אוטומטית שפשוט נותנת לכל משתמש ID שהוא המספר האחרון שהיה פלוס 1, ואז יוצא שיש לכל המשתמש הרשומים ID שהוא סדרתי זאת אומרת 1,2,3,4,5...
הנה דוגמא לטבלה שבה יש לנו 5 משתמשים רשומים ותכף נראה לכם מה אפשר לעשות איתם.
| uid | username | age |
|---|
| 1 | Lior | 16 |
| 2 | Dan | 16 | | 3 | Me | 18 | | 4 | Robbie Williams | 11 | | 5 | Usher | 13 |
בטבלת המשתמשים כאן תוכלו לראות שיש לנו 3 שדות, אחת בשם uid (מס' זיהוי user id), ועוד שדה שיכיל את שם המשתמש username, ואחרון age גילו של המשתמש.
עם השאילתא הבאה, אילו משתמשים לדעתכם אנחנו נשלוף?
|
קוד
|
select * from users where age='16'
|
אם בחרתם בשתי הרשומות הראשונות אז צדקתם! בעזרת השאילתות הזו אנחנו שולפים את השורות שבהן השדה age (גילו של המשתמש) שווה ל-16.
כפי ששמתם לב בטח, לכל משתמש יש ID (שזה בשדה uid). לכל משתמש צריך ID בשביל לזהות אותו. לדוגמא אם אתם כבר מכירים מפורומים שיש לכם צפייה בפרופיל של משתמש אז הכתובת היא משהו כזה:
showuser.php?uid=4
זו רק דוגמא ב-PHP, אבל זה עובד כך גם בשפות תיכנות אחרות. בכתובת הזו בעצם אנחנו נשלוף את המידע שבו ה-ID של המשתמש שווה ל-4. על פי הטבלה שלנו זה יביא לנו את המידע על המשתמש Robbie Williams מכוון שה-uid שלו הוא 4 - במדריכים אחרים אתם תוכלו ללמוד בפרטי פרטים איך להשתמש בזה ואיך לבנות קובץ אחד שיכול להציג לכם אין-סוף של משתמשים שונים(קובץ אחד שאחראי על אין סוף דפים).
|
|
בשביל להגביל תוצאות יש פונקציה ב-SQL שנקראת limit x,y בפונקציה הזו אנחנו מגבילים את התוצאות מהרשומה X לרשומה Y (רשומה X צריכה להיות קטנה מרשומה Y). אתן לכם דוגמא וזה לעדכונים במערכת מסויימת, שם שולפים את 3 או 5 עדכונים אחרונים.
עם הפונקציה הזו גם אפשר לעשות חלוקה לדפים (תוכלו לקרא על חלוקה לדפים במדריך אחר), חלוקה לדפים היא כמו בפורומים שיש 50 דיונים בכל עמוד.
עוד פונקציה שימושית מאוד היא הפונקציה order by X desc , הפונקציה הזו בעצם לוקחת את הנתונים מהחדש לישן(לרוב מכוונים את זה על המספר זיהוי של השורות מידע, במקרה שלנו UID).
דוגמא לשאילתא SQL:
|
קוד
|
select * from users limit 1 order by uid DESC
|
בשאילתא הזו אנחנו בעצם מגבילים את שליפת הנתונים לשורה אחת ובוחרים לקחת את המידע מהכי חדש להכי ישן. המידע שישלף יהיה על המשתמשים: Usher.
עוד דוגמא יותר מורכבת:
|
קוד
|
select * from users limit 3 order by uid DESC
|
השאילתא הזו תשלוף לנו את 3 שורות המידע הכי חדשות להכי ישנות, המידע שישלף לנו הוא המידע על המשתמשים: Usher, Robbie Williams , Me.
בדרך זו אפשר לעשות "10 הדיונים החדשים ביותר בפורומים", זה מאוד פשוט!
|
| דפים נוספים בקטגוריה SQL |
הכנסת נתונים לטבלה
פונקציות ב-SQL
עדכון ומחיקת נתונים
|
| עיזרו לנו |
|
אהבת את המדריך? הצבע עבורנו וקדם את האתר שלנו!
|
|