งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Introduction to SQL - 3 (MySQL) – Special Problem (Database)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Introduction to SQL - 3 (MySQL) – Special Problem (Database)"— ใบสำเนางานนำเสนอ:

1 Introduction to SQL - 3 (MySQL) 353352 – Special Problem (Database)
Choopan Rattanapoka

2 MySQL Functions MySQL มีฟังค์ชั่นพื้นฐานมาให้ใช้มากมายซึ่งสามารถดูชื่อทั้งหมดที่ Function ที่ใช้น่ารู้เกี่ยวกับ วันและเวลา NOW() คืนค่าวันและเวลา ณ เวลาปัจจุบัน CURDATE() คืนค่าวันปัจจุบัน CURTIME() คืนค่าเวลาปัจจุบัน SELECT NOW(), CURDATE(), CURTIME(); DATEDIFF(วันเวลาที่1 , วันเวลาที่2) คืนจำนวนวันที่ต่างกันของ วันเวลาที่1 และ วันเวลาที่ 2 SELECT DATEDIFF(' :59:59',' '); คืนค่า 1 DATE_ADD(วันเวลา, INTERVAL ช่วงเวลา (DAY, MONTH..etc)) คืนค่าวันเวลารวมกับ ช่วงเวลาที่กำหนด TO_DAYS(วันเวลา) คืนค่าจำนวนวัน ตั้งแต่วันที่ 1 มกราคม ปี คศ 0 FROM_DAYS(จำนวนวัน) คืนค่าวันเวลา จาก จำนวนวันที่ใส่ไป SELECT TO_DAYS(NOW()), FROM_DAYS(730666);

3 DATE_FORMAT DATE_FORMAT( date, format) Date คือ วันเวลา
%a ตัวย่อของวัน Sun – Sat %H ชั่วโมง 00-23 %h ชั่วโมง 01-12 %Y ปี 4 หลัก %y ปี 2 หลัก %p AM หรือ PM ตัวอย่าง SELECT DATE_FORMAT(NOW(), ‘%a %h %p); --- > Wed 10 AM

4 หาอายุคนจากคำสั่ง TO_DAYS และ FROM_DAYS
กำหนดตาราง Employee (ลูกจ้าง) ซึ่งมี attribute คือ ID รหัสลูกจ้าง Name ชื่อลูกจ้าง BirthDate วันเกิดของลูกจ้าง จงเขียนคำสั่ง SQL เพื่อแสดงชื่อและอายุของลูกจ้าง SELECT Name, Date_format( FROM_DAYS( TO_DAYS(NOW()) - TO_DAYS(Birthdate) ), ‘%Y’) + 0 FROM Employee;

5 Come back to SELECT String Operations ในการทำงานกับข้อความมีสัญลักษณ์พิเศษ 2 ตัวที่ช่วยในการค้นหาข้อมูล ประเภท String % แทนข้อความย่อยอะไรก็ได้ (substring) _ แทนตัวอักษรอะไรก็ได้ 1 ตัว ตัวอย่าง Bang% คือ คำที่ขึ้นต้นด้วย Bang เช่น Bangkok, BangBang %ko% คือ คำที่มี ko อยู่ข้างใน เช่น Bangkok, kingkong _ _ _ คือ คำที่มี 3 ตัวอักษร เช่น kok, abc, xxx _ _ _ % คือ คำที่มีอย่างน้อย 3 ตัวอักษร เช่น kok, bangk

6 Example : String Operations
กำหนดตาราง Student ( ID, Firstname, Lastname) จงเขียนคำสั่ง SQL เพื่อแสดง ชื่อของนักเรียนที่ขึ้นต้นด้วย Wat SELECT Firstname FROM Student WHERE Firstname LIKE “Wat%” รหัสของนักเรียนที่นามสกุลลงท้ายด้วย Wat ชื่อและนามสกุลของนักเรียนที่มีชื่อยาว 5 ตัวอักษร รหัสของนักเรียนที่มีชื่อขึ้นต้นด้วย Wat และในนามสกุลที่คำว่า wat

7 Ordering the Display เราสามารถแสดงข้อมูลที่ได้จากการ Query ให้เรียงลำดับตามฟิลด์ต่างๆ ที่ต้องการได้ ด้วยคำสั่ง ORDER BY <ชื่อฟิลด์> [ DESC | ASC ] DESC มาจาก descending order คือเรียงจากมากไปน้อย ASC มาจาก ascending order คือเรียงจากน้อยไปมาก (default) ตัวอย่างการใช้งาน SELECT * FROM Student ORDER BY ID

8

9 Ordering the Display เราสามารถเรียงลำดับการแสดงผลได้มากกว่า 1 ฟิลด์ เช่นจากตาราง employee (ID, Firstname, Lastname, Salary) ให้แสดงผลข้อมูลทั้งหมดโดยการเรียงชื่อจากน้อยไปมาก แล้ว เรียงเงินเดือนจากมากไปน้อย

10 LIMIT คำสั่ง LIMIT ใน mySQL ใช้ต่อท้ายคำสั่ง SELECT เพื่อจำกัดผลลัพธ์ที่ แสดงออก วิธีใช้แบบที่ 1 LIMIT <จำนวนแถวที่จะให้แสดง>

11 LIMIT วิธีใช้แบบที่ 2 LIMIT <แถวเริ่มต้น> , <จำนวนแถวที่จะแสดง> ระวัง!! แถวเริ่มต้นจะเริ่มนับที่แถวที่ 0

12 Aggregate Function Aggregate Function คือ การนำค่าของกลุ่มก้อนมาเป็น input เพื่อทำ operation อย่างหนึ่งและคืนมาเป็น output ค่าเดียว SQL โดยพื้นฐานจะมี Aggregate Function ให้ใช้ได้ 5 functions คือ AVG (average)  ค่าเฉลี่ย MIN (minimum)  ค่าที่น้อยที่สุด MAX (maximum)  ค่าที่มากที่สุด SUM (summation)  ผลบวก COUNT  นับจำนวน input

13 Example : Aggregate Function
กำหนดตาราง employee (ID, Firstname, Lastname, Salary) คำสั่ง SQL เพื่อหาจำนวนคนที่ชื่อ Joe SELECT COUNT(*) FROM employee WHERE Firstname LIKE ‘Joe’ คำสั่ง SQL เพื่อหาเงินเดือนเฉลี่ยของพนักงานในบริษัทนี้ SELECT AVG(salary) FROM employee; คำสั่ง SQL หาชื่อของคนที่มีเงินเดือนเยอะที่สุด (ไม่สามารถหาได้ตรงๆ จาก aggregate function ต้องใช้ทริคเล็กๆน้อยๆ จากการใช้คำสั่ง ORDER BY และ LIMIT)

14 GROUP BY Bangsue 40000 Bangkhen 65000
เป็นการรวมกลุ่มก้อนเพื่อให้สามารถใช้ aggregate function ลงไปในแต่ละกลุ่ม ได้ ตัวอย่าง หาผลรวมของเงินฝากในแต่ละสาขาของธนาคาร AccountID BranchName Balance Bangsue 10000 30000 Bangkhen 5000 40000 20000 Bangsue Bangkhen

15 GROUP BY Bangsue 40000 Bangkhen 65000 AccountID BranchName Balance
Bangsue 10000 30000 Bangkhen 5000 40000 20000 Bangsue Bangkhen

16 HAVING Bangsue 40000 Bangkhen 65000
เป็นการเพิ่มเงื่อนไขโดยการใช้ Aggregate function กับคำสั่ง GROUP BY ตัวอย่าง : จงหาชื่อสาขาธนาคารที่มีเงินฝากรวมมากกว่า บาท SELECT BranchName FROM Account GROUP BY BranchName HAVING SUM(Balance) > 60000; AccountID BranchName Balance Bangsue 10000 30000 Bangkhen 5000 40000 20000 Bangsue Bangkhen

17 Export A MySQL Database
เมื่อผู้ดูแลระบบต้องการจะ backup ฐานข้อมูล หรือ นำฐานข้อมูลนี้ไปใช้กับเครื่องอื่น ใน MySQL สามารถใช้คำสั่ง mysqldump -u login –ppassword database_name > FILE.sql login คือ login ของผู้มีสิทธิ์ในการทำงานกับฐานข้อมูลนั้น เช่น root password คือรหัสผ่าน database_name คือ ชื่อของฐานข้อมูลที่ต้องการจะ backup FILE.sql คือ ชื่อ file ทีจะเก็บฐานข้อมูลที่ต้องการจะ backup ตัวอย่าง mysqldump –u root –pect ectstudent > ect.sql

18 Import A MySQL Database
เมื่อผู้ดูแลระบบต้องการนำฐานข้อมูลที่ backup ไว้แล้วมาใช้ในฐานข้อมูลปัจจุบัน ใน MySQL สามารถใช้คำสั่ง mysql -u login –ppassword database_name < FILE.sql login คือ login ของผู้มีสิทธิ์ในการทำงานกับฐานข้อมูลนั้น เช่น root password คือรหัสผ่าน database_name คือ ชื่อของฐานข้อมูลที่ต้องการจะ import FILE.sql คือ ชื่อ file ทีจะเก็บฐานข้อมูลที่ต้องการจะ import ตัวอย่าง mysql –u root –pect ectstudent < ect.sql


ดาวน์โหลด ppt Introduction to SQL - 3 (MySQL) – Special Problem (Database)

งานนำเสนอที่คล้ายกัน


Ads by Google