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

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

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

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


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

1 Introduction to SQL - 3 (MySQL) – 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 คือ วันเวลา  Format คือ ส่วนที่จะให้ DATE_FORMAT คืนค่า เช่น  %a ตัวย่อของวัน Sun – Sat  %H ชั่วโมง  %h ชั่วโมง  %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  เป็นการรวมกลุ่มก้อนเพื่อให้สามารถใช้ aggregate function ลงไปในแต่ละกลุ่มได้  ตัวอย่าง หาผลรวมของเงินฝากในแต่ละสาขาของธนาคาร AccountIDBranchNameBalance Bangsue Bangsue Bangkhen Bangkhen Bangkhen20000 Bangsue Bangkhen 65000

15 GROUP BY AccountIDBranchNameBalance Bangsue Bangsue Bangkhen Bangkhen Bangkhen20000 Bangsue Bangkhen 65000

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

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) 353352 – Special Problem (Database) Choopan Rattanapoka.

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


Ads by Google