30-09-06, 22:26 | # 1 |
משתמש - היכל התהילה
|
[מדריך] SQL - מדריך בסיסי
מדריך SQL 1. הקדמה SQL הינה שפה לטיפול בבסיסי נתונים. מה זאת אומרת טיפול? הכוונה היא לתפעול בסיס הנתונים דרך השפה. SQL מאפשרת שליפה, מחיקה, הרצה, עידכון, הוספה וכל מיני פקודות שאפשר לבצע על בסיס הנתונים(על כך אסביר בהמשך). פקודות אלו נקראות שאילתות. את השאילתות ניתן להריץ ישירות מול בסיס הנתונים, בעזרת אקסס, או ע"י שפה מארחת (אסביר על כך בהמשך) כמו: PHP, ASP וכדומה. בכדי ללמוד את שפת הSQL לא דרוש ידע מוקדם. 2. בניית בסיס הנתונים בסיס הנתונים שלך צריך להיות מתוכנן ומאורגן היטב, ולכן, אני ממליץ לפני בנייה של כל בסיס לתכנן אותו קודם כל על דף או אפילו בעזרת אקסל. בסיס נתונים מכיר טבלאות שבתוכם נמצאים הנתונים המסודרים ע"פ עמודות. בשביל מדריך זה בניתי בסיס בעל טבלה אחת, אך ורק לצורך ההבנה. הכנתי את הטבלה על נושא די קל להבנה - אבות המזון (סתם נושא). הינה רשימת העמודות שיש לי בטבלת "אבות המזון" שבבסיס הנתונים שלי: 1. ירקות ופירות 2. חלבונים 3. שומנים 4. סוכרים 5. פחמימות עד כאן. אני חושב שהבנתם את הקטע. כל הרשימה שרשמתי למעלה אלה הם העמודות ובתוכם יופיעו הנתונים. למשל בעמודה "ירקות ופירות" יכול להופיע לי הנתון "גזר" או "עגבנייה" או "בננה" וכו'. עכשיו אחרי שתיכננו את המסד על "דף" אפשר להתחיל ליצור אותו. בפרק הבא נתחיל ללמוד את השאילתות שאמרתי קודם. 3. SELECT - שליפת נתונים הפקודה SELECT היא הפקודה הבסיסית ביותר בשפת הSQL. הפעולה שהיא עושה היא פשוט שולפת את הנתונים מהטבלה. אנחנו יכולים לשלוף לדוגמא את כל הנתונים שנמצאים בטבלת "אבות המזון" שלנו בעמודת ירקות ופירות - סתם לדוגמא. הינה מבנה הפקודה: קוד:
SELECT (שם העמודה) FROM (שם הטבלה) קוד:
SELECT fruits FROM avothamazon אבל נגיד בא לנו להוציא לא רק את פירות וירקות, אלה גם את סוכרים האם אפשר לעשות זאת בעזרת שאילת אחת? אכן כן, זה אפשרי בהחלט! פשוט מוסיפים פסיק לאחר שם העמודה הראשונה, ולאחר מכן להוסיף את שם העמודה השניה. קוד:
SELECT fruits, sugars FROM avothamazon נגיד נרצה לשלוף את כל הנתונים בטבלה, בכל העמודות, נוכל לעשות זאת ע"י החלפת שם העמודה ב * : קוד:
SELECT * FROM avothamazon הסברתי כאן את המבנה של הפקודה והאפשרויות הבסיסיות בפרק הבא אסביר על תוסף קטנטן לפקודה שעוזר לנו למיין את התוצאות של השאילת בסדר שאנחנו רוצים. 4. ORDER BY - מיון התוצאות כמו שאמרתי, ORDER BY מאפשר לנו למיין את התוצאות של השאילתה בסדר הרצוי. הינה דוגמא: קוד:
SELECT * FROM table ORDER BY name * יש לציין שאם לא מוסיפים לאחר הORDER BY value את המונח DWSC אז הסדר יופיע בסדר עולה ואם כן נוסיף את הDESC בסוף, הסדר יופיע בסדר יורד. בפרק הבא נלמד איך להציב לפקודה תנאים על מנת שיוצג התוצאות שאנחנו באמת רוצים. 5. WHERE - תנאים נגיד אנחנו רוצים לשלוף רק דבר מסויים מהטבלה ולא את הכל. מכאן הגענו כבר לחלק יותר מתקדם ופה לא אשתמש בדוגמא של אסות המזון. נחזור לנושא - הפקודה WHERE מאפשרת לנו להציג רק את התוצאות הרציות. לדוגמא יש לי טבלה של קבוצת ילדים. יש עמודות: שם, בית ספר, ושנת לידה. אני רוצה להציג רק את הילדים שנולדו בשנת 1992 או רק את הילדים מבית הספר X נכתוב זאת כך: קוד:
SELECT name FROM childern WHERE school = "dapim" אני חושב שהבנו את העיקרון. 6. INSERT - הוספת נתונים עד עכשיו למדנו איך לשלוף נתונים מהטבלה ולמדנו הרבה אפשרויות שאפשר לעשות עם הפקודה SELECT. אבל אם אנחנו רוצים במקום לשלוף את הנתונים - להוסיף נתונים? פקודה INSERT תשמש אותנו בכך. למשל נרצה להוסיף ילד נוסף לקבוצה שלנו, נעשה זאת כך: קוד:
INSERT INTO children (name, school, year_born) VALUES (oshri, dapim, 1992) אין הרבה מה להסביר על הפקודה הזאת, פקודה פשוטה מאוד, מקווה שתבינו. 7. DELETE - מחיקת נתונים אנחנו יודעים לשלוף, להוסיף אבל לפעמיים אנחנו צריכים למחוק נתונים. הפקודה הכי פשוטה, למחוק את כל הילדים בטבלה שלנו: קוד:
DELETE FROM children קוד:
DELETE FROM children WHERE school = "dapim" 8. UPDATE - עדכון נתונים לפעמיים דברים משתנים, למשל, ילד מהקבוצה שלנו העיפו אותו מהבית ספר והוא עבר לבית ספר אחר סתם לדוגמא. צריך לעדכן את הנתונים! וזאת נבצע ע"י הפקודה UPDATE. נגיד אושרי, ילד מהקבוצה שלנו, הוא ילד חכם מאוד, עבר את המבחן כדי להיכנס לבית ספר למחוננים הנקרא "קלמרים" אז הוא עזב את בית הספר "דפים". את זאת נעדכן כך: קוד:
UPDATE children SET school = "kalmarim" WHERE name = "oshri" פקודה אחרונה שלמדנו במדריך זה. 9. סיכום כללי בהתחלה למדנו בקצרה על SQL, למדנו איך לתכנן בסיס נתונים ואיך לארגן את ה"כלי" שבו נשים את הנתונים. מאז התחלנו ללמוד מעשית, למדנו איך לשלוף נתונים בעזרת הפקודה SELECT. למדנו מיד אחרי זה כיצד לטפל בתוצאות, למיין, לעשות תנאים, לסדר ולארגן. ואחר כך למדנו את הפקודות הנוספות: כיצד להוסיף נתונים, למחוק נתונים ולעדכן אותם. כמובן שזהו לא רק הSQL, הSQL רחב ומגוון. זהו המידע הבסיסי למתכנתים. שימו לב! אין אפשרות לעבוד מול בסיסי נתונים עם שפה מארחת ללא ידע בSQL! 10. אתרים ומקורות מידע במדריך זה למדתם את הדבר הבסיסי והדרוש על מנת לעבוד מול מסד נתונים. אבל תמיד אפשר להרחיב את הידע ולדעת עוד אודות הSQL. נתתי לכם מתנת פרידה, אוסף של קישורים ללמידה מעמיקה. להלן: http://www.webmaster.org.il/guide.asp?subject=sql http://www.sigall.co.il/sql.asp http://www.asp.org.il/section/SQL http://www.underwar.co.il/document-details.asp?id=251 עד כאן לימוד מעמיק. ################################################## # כל הזכויות שמורות לי אני כתבתי את המדריך לבדי || אין להעתיק || עבדתי קשה! תודה, אושרי. עריכה: * הוספתי את מה ש DorWD ביקש. ** משום מה הקודים פה מופיעים בקטן, צריך לראות אותם עם זכוכית מגדלת! Last edited by OSR; 30-09-06 at 22:48.. |
30-09-06, 22:32 | # 2 |
תודה על תרומתך.
|
כ-ל ה-כ-ב-ו-ד לך יישר כוח!.
אתה מוזמן להוסיף במיון שיש DESC שזה בסדר יורד ובלי כלום זה בסדר עולה הכוונה זה order by 'something' DESC ועוד פעם, באמת כל הכבוד לך
__________________
מתכנת WEB
|
30-09-06, 22:35 | # 3 | |
משתמש - היכל התהילה
|
ציטוט:
ותודה על שאר התגובה. שיתפנה לי הזמן אולי אני יכין מדריך ענק שיהיה נרחב וכולל את כל הפונקציות, הפקודות, האפשרויות וכל הדברים האלה. Last edited by OSR; 30-09-06 at 22:40.. |
|
30-09-06, 22:38 | # 4 |
הוסטסניון
|
איך אומרים?
באת לי בזמן אני ממש חייב להתחיל SQL לשלב עם PHP ממש תודה רבה אני יחכה קצת שתערוך ותוסיף (תאמר לי אם תוכל בה.פ. שזה מסודר ומוכן) ואז אני ילמד שוב תודה רבה ושנה טובה |
30-09-06, 23:09 | # 5 | |
משתמש - היכל התהילה
|
ציטוט:
|
|
30-09-06, 23:19 | # 6 |
A Al Alm Almo Almog!
תודה על תרומתך! |
יפה יפה קבל ח"ח על ההשקע
למרות שכבר יש מדריך SQL אחד בפורום, אבל עוד אחד אף פעם לא יזיק. כל הכבוד!(לא קראתי מה כתבת, לא היה לי כוח.. אבל הוא ניראה מושקע) |
01-10-06, 00:07 | # 7 |
Permanently Banned
|
וואו! אחד המדריכים היותר מושקעים שראיתי!
קבל חיזוק חיובי! |
01-10-06, 00:40 | # 8 |
משתמש תחת חוזה ניסיון
|
כל הכבוד אחי ישר כוח!!! באמת מדריך מעולה
|
01-10-06, 01:59 | # 9 |
תודה על תרומתך.
|
נראה מושקע אחי כל הכבוד
אני מקווה מאד שבהרחבה שלך תתעסק יותר LEFT|RIGHT|INNER JOIN ואם אתה מבין אז גם IF בתוך שאליתה,GROUP BY ועוד פונקציות שונות כגון AVG SUM ובחירה לפי טווחים עם BETWEEN בהצלחה. |
01-10-06, 07:10 | # 10 |
משתמש - היכל התהילה
|
תודה רבה לכולם.
אבל כמו שאמר מי שמעלי יש הרבה דברים בSQL אבל אני כתבתי את כל הידע הדרוש בשביל עבודה בסיסית מול זה. |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
Tags |
מדריך למתחילים, מדריך sql |
|
|