Скачать презентацию שפת SQL הגדרת בסיס נתונים Скачать презентацию שפת SQL הגדרת בסיס נתונים

dc958338d8a025e173b5dcf9af584de8.ppt

  • Количество слайдов: 26

 שפת SQL • הגדרת בסיס נתונים • טיפוסי נתונים • שנוי טבלה • שפת SQL • הגדרת בסיס נתונים • טיפוסי נתונים • שנוי טבלה • מחיקת טבלה • הגדרת אינדקס בטבלה • טיפול בנתונים • בניית שאילתות -שליפת נתונים • עדכון טבלאות )הכנסת שורות, עדכון שורות, מחיקת שורות( 1

 אבני הבניין של פקודת SQL ★ אין רגישות לגודל האות )אלא אם כן, אבני הבניין של פקודת SQL ★ אין רגישות לגודל האות )אלא אם כן, זה רשום בתוך מרכאות( ★ כל פקודה מתחילה עם שם הפקודה שהוא פועל המתאר את הפעולה שהפקודה מבצעת. לדוגמא: SELECT course_id, student_id, grade FROM grades WHERE course_id=“M-100” AND 57 grade BETWEEN 50 AND ★ כל פקודה יכולה להיות מורכבת ממספר משפטים אשר בהם יש מילות מפתח של השפה ). ) SELECT, FROM, WHERE ★ בשפת SQL קיימות מילים שמורות ואין להשתמש בהן למטרות אחרות. 2

 טיפוסי נתונים: • • • ) CHAR(n מחרוזת של תווים אלפא-נומריים באורך n טיפוסי נתונים: • • • ) CHAR(n מחרוזת של תווים אלפא-נומריים באורך n ) VARCHAR(n מחרוזת של תווים בעלת אורך משתנה, כאשר n הוא האורך המקסימלי. ) NUMBER(n מספר, שלילי, חיובי, אפס, שלם או עשרוני ) DEC(n, m מספר עשרוני בעל n ספרות מתוכן m אחרי הנקודה העשרונית INTEGER מספר שלם בלבד )עד 000, 23( SMALLINT מספר שלם )עד 000, 61( 3

 • DATE משתנה היכול להכיל רק ערכים חוקיים של תאריך במבנה מוסכם כלשהו • DATE משתנה היכול להכיל רק ערכים חוקיים של תאריך במבנה מוסכם כלשהו )למשל ( dd/mm/yyyy • TIME משתנה היכול להכיל רק ערכים חוקיים של שעה ביממה במבנה מוסכם כלשהו )למשל ( hh: mm: ss • TIMESTAMP משתנה המכיל תאריך ושעה גם יחד • BOOLEAN משתנה היכול להכיל ערך בינארי t/f • MONEY משתנה המכיל ערכי כסף, ניתן להגדיר את המבנה וצורת ההצגה של הסכום כגון $43. 5 4

 בניית טבלה חדשה: • שדה – עמודות בטבלה NULL אין חובה להכניס ערכים בניית טבלה חדשה: • שדה – עמודות בטבלה NULL אין חובה להכניס ערכים NOT NULL חובה להכניס ערכים • רשומה – שורה בטבלה 5

 }* | >רשימת שמות עמודות < { SELECT מגדיר שמות עמודות לשליפה >רשימה }* | >רשימת שמות עמודות < { SELECT מגדיר שמות עמודות לשליפה >רשימה של שמות טבלאות < FROM ? מאיזה טבלאות לשלוף > תנאי לוגי < WHERE אילו שורות יישלפו מהטבלה ● ● 6

: שאילתות לטבלה אחת : א. שליפת כל העמודות והשורות הצג את פרטי המחלקות : שאילתות לטבלה אחת : א. שליפת כל העמודות והשורות הצג את פרטי המחלקות SELECT * FROM Departments : טבלת התוצאה המתקבלת Depart Head Cs Computer science Dr. israel Mt Mathematics Prof. Levy Bs Business Dr. eyal Ch 7 Name chemistry Prof. Doron

: ב. שליפת עמודות מסוימות הצג את שמות הסטודנטים ועיר מגוריהם SELECT name, city : ב. שליפת עמודות מסוימות הצג את שמות הסטודנטים ועיר מגוריהם SELECT name, city FROM students : טבלת התוצאה המתקבלת Student_id City Name City 105 Moshe Haifa 210 Dan Tel aviv 107 David Tel aviv 110 Ran Haifa 245 Yair Jerusalem 240 Lea Haifa 310 8 Name Tova Tel aviv

 שינוי שם של עמודה כאשר רוצים לתת שם חדש לעמודה אותה שולפים מבסיס שינוי שם של עמודה כאשר רוצים לתת שם חדש לעמודה אותה שולפים מבסיס : הנתונים רושמים את ההוראה הבאה SELECT column name AS new name FROM table name דוגמא: הציגו את שמות הסטודנטים. שם העמודה יהיה student_name. SELECT name as student_name Student_name FROM students Mani dana yael ran orit 9

 ג. שליפת שורות מסוימות על פי תנאים : תנאי לוגי פשוט תנאי לוגי ג. שליפת שורות מסוימות על פי תנאים : תנאי לוגי פשוט תנאי לוגי יכול להכיל את כל האופרטורים המוכרים , <>=<, >, הצג את הנתונים של הסטודנטים שמספרם הוא 210 SELECT * FROM students WHERE student_id= 210 Student_id City 105 Moshe Haifa 210 Dan Tel aviv 107 David Tel aviv 110 Ran Haifa 245 Yair Jerusalem 240 10 Name Lea Haifa 310 Tova Tel aviv Student_id Name City 210 Dan Tel aviv

 הציגו את שמות הסטודנטים הגרים בתל אביב SELECT name FROM students WHERE CITY=“Tel הציגו את שמות הסטודנטים הגרים בתל אביב SELECT name FROM students WHERE CITY=“Tel Aviv” Student_id City 105 Moshe Haifa 210 Dan Tel aviv Name 107 David Tel aviv Dan 110 Ran Haifa David 245 Yair Jerusalem Tova 240 11 Name Lea Haifa 310 Tova Tel aviv

? 80 באלו קורסים הציונים מעל SELECT course_id FROM grades WHERE grade > 80 ? 80 באלו קורסים הציונים מעל SELECT course_id FROM grades WHERE grade > 80 Student_id Semester Term Grade 105 m-100 Sum 1997 A 78 105 c-55 Aut 1999 B 85 105 c-100 Aut 1999 A 95 210 c-100 Aut 1999 A 75 210 c-300 Sum 1998 B 82 210 c-200 Sum 1998 A 70 245 m-100 Sum 1997 A 90 245 c-55 Aut 1999 B 80 245 c-300 Sum 1998 A 58 310 12 Course_id m-100 Sum 1997 A 75 Course_id c-55 c-100 c-300 m-100

? 70 - לאלו סטודנטים ציונים נמוכים או שווים ל SELECT student_id FROM grades ? 70 - לאלו סטודנטים ציונים נמוכים או שווים ל SELECT student_id FROM grades WHERE grade < =70 Student_id Semester Term Grade 105 m-100 Sum 1997 A 78 105 c-55 Aut 1999 B 85 105 c-100 Aut 1999 A 95 210 c-100 Aut 1999 A 75 210 c-300 Sum 1998 B 82 210 c-200 Sum 1998 A 70 245 m-100 Sum 1997 A 90 245 c-55 Aut 1999 B 80 245 c-300 Sum 1998 A 58 310 13 Course_id m-100 Sum 1997 A 75 Student_id 210 245

: שליפת שורות מסוימות עם תנאי מורכב OR ו AND : תנאי מורכב בונים : שליפת שורות מסוימות עם תנאי מורכב OR ו AND : תנאי מורכב בונים באמצעות אופרטורים של חיבור M 100 מיהם הסטודנטים אשר למדו בקיץ 7991 את הקורס ? 80 - וקיבלו יותר מ SELECT student_id FROM grades WHERE semester = “sum 1997” and course_id= “M 100” and grade>80 Student_id Semester Term Grade 105 m-100 Sum 1997 A 78 105 c-55 Aut 1999 B 85 105 c-100 Aut 1999 A 95 210 c-100 Aut 1999 A 75 210 c-300 Sum 1998 B 82 210 c-200 Sum 1998 A 70 245 m-100 Sum 1997 A 90 245 14 Course_id c-55 Aut 1999 B 80 245 c-300 Sum 1998 A 58 310 m-100 Sum 1997 A 75 Student_id 245

 מיהם הסטודנטים שלמדו בסתיו 9991 או ? 80 - וציונם גבוה מ C מיהם הסטודנטים שלמדו בסתיו 9991 או ? 80 - וציונם גבוה מ C 100 בקורס SELECT student_id FROM grades WHERE (semester = “aut 1999” OR course_id = “C 100”) AND grade > 80 15

 שימוש באופרטורים לוגיים: . 1 שליפת שורות עם תנאי על תחום ערכים)) between שימוש באופרטורים לוגיים: . 1 שליפת שורות עם תנאי על תחום ערכים)) between מיהם הסטודנטים אשר ציוניהם נעים בין 08 לבין 59 ? SELECT student_id FROM grades 59 WHERE grade BETWEEN 80 AND אפשרות אחרת היא לכתוב את התנאי באופן הבא: WHERE grade >= 80 AND 59 =< grade 61

. 2 שליפת שורות עם תנאי של מס’ ערכים מוגדר )) IN מהם הקורסים . 2 שליפת שורות עם תנאי של מס’ ערכים מוגדר )) IN מהם הקורסים אשר נלמדו בסמסטרים קיץ 8991 וקיץ 7991 ? SELECT course_id FROM grades )” 8991 WHERE semester IN (“sum 1997”, “sum אפשרות אחרת היא לכתוב את התנאי באופן הבא: WHERE semester = “sum 1997” OR ” 8991 semester = “sum 71

LIKE)) . 3 בדיקת מחרוזת ? O מהם הקורסים אשר שמם מתחיל באות SELECT LIKE)) . 3 בדיקת מחרוזת ? O מהם הקורסים אשר שמם מתחיל באות SELECT course_id FROM courses WHERE course_name LIKE “O*” IS NULL. 4 ? מיהם הסטודנטים שלא קבלו ציון SELECT student_id FROM grades WHERE grade IS NULL 18

 אופרטורים אריתמטיים - חישובים על עמודות מיהם העובדים אשר הבונוס שקבלו גדול או אופרטורים אריתמטיים - חישובים על עמודות מיהם העובדים אשר הבונוס שקבלו גדול או שווה ממחצית משכורתם? SELECT EMP_ID FROM EMPLOYEE_PAY_TBL 2/ WHERE BONUS >= SALARY ניתן לבצע כל חישוב בין עמודות באמצעות הפעולות האריתמטיות הפשוטות. 91

INSERT המוסיפה שורה חדשה למסד INSERT • פעולת : הנתונים. דקדוק הפקודה • INSERT INSERT המוסיפה שורה חדשה למסד INSERT • פעולת : הנתונים. דקדוק הפקודה • INSERT INTO table_name (column_names) VALUES (values); • INSERT INTO EMPLOYEES (EMP_NUM, EMP_NAME, EMP_COMMISSION, EMP_SALARY) VALUES (004, 'Lee Eng Lock', '15%', 65000); 20

The Insert Statement INSERT INTO Customers (Customer. ID, Company. Name, Contact. Name, Phone) VALUES The Insert Statement INSERT INTO Customers (Customer. ID, Company. Name, Contact. Name, Phone) VALUES ('YAISH', 'Siwek Consulting', 'Yair Siwek', '972 -(0)58 -808 -598') INSERT INTO Customers SELECT * FROM my. Temp. Customer. List 21

UPDATE שינוי נתונים . מאפשרת לשנות רשומה קיימת בדרך קלה ביותר SQL • על UPDATE שינוי נתונים . מאפשרת לשנות רשומה קיימת בדרך קלה ביותר SQL • על מנת לבצע זאת צריך להשתמש באופרטור : , שמופיע בצורה הבאה UPDATE • UPDATE table_name SET column_name = some_value WHERE where_clause; • UPDATE EMPLOYEES SET EMP_SALARY = (EMP_SALARY + 5000) WHERE EMP_NAME = 'Lim Sing Yuen'; • UPDATE EMPLOYEES SET EMP_SALARY = 45000 WHERE EMP_NAME = 'Lim Sing Yuen'; 22

The Update Statement UPDATE Customers SET Contact. Name = 'Yair S. Siwek' WHERE Customer. The Update Statement UPDATE Customers SET Contact. Name = 'Yair S. Siwek' WHERE Customer. ID = 'YAISH‘ UPDATE Products SET price = price * 1. 1 23

 Delete • מחיקת שורות מטבלה ב- SQL קיים אופרטור . DELETE דקדוק פקודות Delete • מחיקת שורות מטבלה ב- SQL קיים אופרטור . DELETE דקדוק פקודות עם : DELETE ; • DELETE FROM table_name WHERE where_clause • כדי למחוק את לים לי צ'ן ) (Lim Li Chuen מטבלת העובדים ) (EMPLOYEES אפשר להשתמש בקטע קוד הבא: = • DELETE FROM EMPLOYEES WHERE EMP_NAME ; ' 'Lim Li Chuen • אפשר למחוק את כל השורות בטבלה אם משמיטים את פסוקית , WHERE כמו בדוגמא הבאה: • DELETE FROM EMPLOYEES 42

The Delete Statement DELETE FROM Customers WHERE Customer. ID = 'YAISH' 25 The Delete Statement DELETE FROM Customers WHERE Customer. ID = 'YAISH' 25

enterance. Page admin. Login self. Update admin. Login. Un. Authorize Check. Admin. L Customer enterance. Page admin. Login self. Update admin. Login. Un. Authorize Check. Admin. L Customer Self. Update Admin Customer Update 26 Admin. Page Admin Customer Delete טבלת עדכון משתמשים חיפוש לפי שם Customer Show. Table For. Admin Search Customer Admin Customer Update הכנסת משתמש חדש new. Customer asp. Insert טבלת משתמשים