SQL Tutorial
ที่ได้ทำการทดลอง เป็นการทดลองผ่านเว็บไซต์ http://www.w3schools.com/sql/ เนื่องจากมีการสอนตัวอย่างการทำ และมีตัวอย่าง data เพื่อให้ได้เริ่มทดลอง ไปตามบทเรียนที่ทางเว็บไซต์ ได้จัดสร้างไว้ให้โดย SQL คือภาษาที่ใช้ในการเขียนโปรแกรม เพื่อจัดการกับฐานข้อมูลโดยเฉพาะ
ในสัปดาห์ที่สอง ได้ทำการศึกษาทั้งหมด 8 บทเรียน ได้แก่
บทเรียนที่ 1 (SELECT)
บทเรียนที่ 2 (DISTINCT)
บทเรียนที่ 3 (WHERE)
บทเรียนที่ 4 (AND & OR)
บทเรียนที่ 5 (ORDER BY)
บทเรียนที่ 6 (INSERT INTO)
บทเรียนที่ 7 (UPDATE)
บทเรียนที่ 8 (DELETE)
บทเรียนที่ 1 : SELECT
บทเรียนนี้ให้ code ดังนี้มา
ภาพตัวอย่าง codeของบทเรียนที่ 1
โดยเมื่อทำการ run code ดังกล่าว ผลที่ได้คือ การแสดงข้อมูลทุกคอลัมน์ ของ database
ภาพแสดงตารางตาม code ของบทเรียนที่ 1
ที่เป็นเช่นนั้นเนื่องจากใน code หลังจาก SELECT เป็น * ซึ่งหมายถึง all คือการเอาทุกคอลัมน์ หากไม่ต้องการให้แสดงทุกคอลัมน์ให้เป็นจาก * เป็นชื่อ คอลัมน์ แทน
ภาพตัวอย่าง code ที่ได้ทำการเปลี่ยนแปลง โดยไม่เอาทุกคอลัมน์แล้ว
ภาพแสดงตารางตาม code ที่ได้ทำการเปลี่ยนแปลง โดยได้เลือกคอลัมน์ CustomerName,City และ Country
บทเรียนที่ 2 : DISTINCT
จากลิ้งค์ : http://www.w3schools.com/sql/sql_distinct.asp
หากต้องการให้แสดงข้อมูลของแต่ละคอลลัมน์ที่ไม่ซ้ำกันเลย ให้ใส่คำว่า DISTINCT ระหว่างคำว่า SELECT กับ ชื่อคอมลัมน์
ภาพแสดงcodeที่ใส่DISTINCT กับแบบบทเรียนเดิม เรียงจากซ้ายไปขวาตามลำดับ
ภาพแสดงตารางข้อมูลตาม code ที่ใส่ DISTINCT กับแบบบทเรียนเดิม เรียงจากซ้ายไปขวาตามลำดับ
โดยจะเห็นได้ว่าจ้อมูลที่ได้ในบรรทัดที่ 2 กับ 3 ของตารางทางขวามือ หรือตารางที่ได้จาก code ที่ไม่ได้ใส่คำว่า DISTINCT จะเป็นประเทศ Mexico เหมือนกัน แต่ในตารางทางซ้ายมือจะข้ามการแสดงปนะเทศ Mexico ซ้ำ โดยจะแสดงข้อมูลถัดไปเลย
บทเรียนที่ 3 : WHERE
จากลิ้งค์ : http://www.w3schools.com/sql/sql_where.asp
คำสั่ง WHERE เหมือนเป็นการใส่เงื่อนไข
ภาพแสดง Syntax สำหรับบทเรียนที่ 3 เรื่อง WHERE
โดยตัวอย่างที่ทางเว็บไซต์ให้ทดลองทำการศึกษา คือ การเลือกข้อมูลในคอลัมน์ Country ที่ชื่อว่า Mexico โดยให้แสดงข้อมูลทุกคอลัมน์ในตาราง (เนื่องจาก SELECT *)
ภาพแสดง code ตัวอย่างสำหรับบทเรียนที่ 3
ภาพแสดงตารางข้อมูลตาม code ตัวอย่างสำหรับบทเรียนที่ 3
โดยตรงตำแหน่ง Operation ไม่ได้มีแค่เครื่องหมาย = แต่คล้ายกับการเขียนโค้ดโปรแกรม ในภาษาอื่นๆคือ มีน้อยกว่า มากกว่า ใช้่เที่ยบในกรณีเป็นตัวเลข เช่น WHERE CustomerID>1; และมีเครื่องหมายอื่นๆอีก ดังจะแสดงในตาราง
ภาพแสดง operation และความหมายของ operation
บทเรียนที่ 4 : AND & OR
จากลิ้งค์ : http://www.w3schools.com/sql/sql_and_or.asp
AND และ OR เป็น operation พื้นฐานที่ใช้เช็คเงื่อนไขทางตรรกศาสตร์ โดยให้ผลลัพธ์ ออกมาเป็น จริงหรือเท็จ เท่านั้น
AND
ตารางแสดงผลลัพธ์ ทางตรรกศาสตร์ของ AND
ภาพแสดงตัวอย่างการใช้ AND ในบทเรียนที่ 4
โดยผลลัพธ์การแสดงข้อมูลที่ได้จาก Code ดังกล่าวคือ เลือกข้อมูลที่มีประเทศเป็นเยอรมันนีและอยู่ที่เมืองเบอลิน โดยให้แสดงข้อมูลทุกคอลัมน์ ซึ่งได้ผลดังนี้
ภาพแสดงตารางข้อมูลตามcode ที่ใช้ AND ในบทเรียนที่ 4
OR
ตารางแสดงผลลัพธ์ ทางตรรกศาสตร์ของ OR
ภาพแสดงตัวอย่างการใช้ OR ในบทเรียนที่ 4
โดยผลลัพธ์การแสดงข้อมูลที่ได้จากCode ดังกล่าวคือ เลือกข้อมูลที่มีเมืองเป็น Berlins หรือ München โดยให้แสดงข้อมูลทุกคอลัมน์ ซึ่งได้ผลดังนี้
บทเรียนที่ 5 : ORDER BY
จากลิ้งค์ : http://www.w3schools.com/sql/sql_orderby.asp
คำสั่ง order by เป็นการบอกให้แสดงข้อมูลโดยเรียงข้อมูลตามตัวอักษร จากA-Z หรือ Z-A หรือมากกว่าไปน้อยกว่า หรือน้อยกว่าไปมากกว่าโดยทำการเรียงข้อมูลใด ก็อยู่ที่เราเลือก โดยมีรูปแบบ syntax ดังนี้
ภาพแสดงรูปแบบ syntax ของบทเรียนที่ 5
โดยปกติถ้าไม่เติม ASC หรือ DESC หลังชื่อคอลัมน์ ค่าของมันจะถูกsetให้เป็นการเรียงแบบ ASC คือเรียงจาก A-Z หรือ น้อยไปมาก แต่หากsetให้เป็นการเรียงแบบ DESC จะเป็นการเรียงแบบ Z-A หรือน้อยไปมาก
ตัวอย่างในบทเรียนนี้จะเป็นการ set ให้ดูทั้งสองแบบ โดยลำดับของชื่อคอลัมน์ ก็มีความสำคัญ คือ ชื่อคอลัมน์ใดมาก่อน ก็เรียงตัวนั้นก่อน แล้วค่อยเรียงลำดับถัดไป
ภาพแสดงตัวอย่างการเขียน code ในบทเรียนที่ 5
โดยข้อมูลที่ได้แสดงออกมา จะเห็นได้ว่าจะทำการเรียง ประเทศ จาก A-Z (ASC) ก่อน และถ้ามีชื่อประเทศเดียวกันจะทำการเรียงชื่อลูกค้า โดยเรียงจาก Z-A (DESC) ดังจะแสดงให้เห็นในภาพต่อไปนี้
ภาพแสดงตารางข้อมูลที่ใช้คำสั่ง ORDER BY ตามบทเรียนที่ 5
บทเรียนที่ 6 : INSERT INTO
จากลิ้งค์ : http://www.w3schools.com/sql/sql_insert.asp
INSERT INTO เป็นการเพิ่มข้อมูลเข้าไปเก็บยัง DB โดย Syntax มี2 แบบคือ ระบุ คอลัมน์ หรือไม่ระบุ หากไม่ระบุ ข้อมูลจะใส่เรียงไล่ไปทีละคอลัมน์ หากใส่ไม่ครบทุกคอลัมน์(ในกรณีไม่ระบุคอลัมน์) จะมีการแจ้งเตือนว่าใส่ไม่ครบ แต่หากระบุชื่อคอลัมน์ หากใส่ไม่ครบทุกคอลัมน์ ข้อมูลส่วนที่ไม่ได้ใส่จะขึ้นเป็น NULL
ภาพแสดงSyntax ของการใช้ INSERT INTO ทั้งสองแบบ
ในบทเรียนนี้จะลองให้เราเพิ่มข้อมูลใส่ลงไป โดยเราจะลองทำการใส่ข้อมูลที่ตารางที่ชื่อว่า Categories ซึ่งเดิมมีข้อมูลอยู่ 8 ข้อมูล (ใช้คำสั่ง SELECT * FROM Categories ในการดูข้อมูล)
ภาพแสดงข้อมูลเดิม ก่อนการใช้คำสั่ง INSERT INTO |
จะเห็นได้ว่าจากข้อมูลทั้งหมด ตอนนี้มีอยู่ 8 ข้อมูล โดยข้อมูลสุดท้ายคือ 8-----Seafood-----Seaweed and fish ซึ่งเราจะทำการ เพิ่มข้อมูลที่ 9 ลงไป โดยข้อมูลที่ 9 ที่เราจะเพิ่มคือ Fruit ----- Melons,Apples,Oranges,Grapes and Bananas โดยใช้คำสั่งดังนี้
ภาพแสดง code การเพิ่มข้อมูลโดยใช้คำสั่ง INSERT INTO
เมื่อทำการรัน code ดังกล่าว จะมีการแจ้งเตือนว่าเราได้ทำการเปลี่ยนแปลง db โดยมีผลกระทบต่อแถวเพียง 1 แถว
ภาพแสดงข้อความที่แจ้ง หลังใช้คำสั่ง INSERT INTO
จากนั้นทำการเช็คข้อมูล ว่าที่ใส่เพิ่มเข้าไปมีการเปลี่ยนแปลงอย่างไร (โดยใช้คำสั่ง SELECT * FROM Categories) ผลที่ได้คือ มีการเพิ่มเข้ามาแล้ว ดังรูปด้านล่าง
ภาพแสดงข้อมูลตัวที่ 9 ที่ถูกเพิ่มเข้ามาโดยคำสั่ง INSERT INTO |
ปล.เนื่องจากข้อมูลของคอลัมน์ CategoryID ถูกset defult ให้บวกเลขเพิ่มทีละ 1 ทำให้ไม่ต้องใส่ข้อมูลก็ได้ หากต้องการให้เลขไล่ไปเรื่อยๆ ตามลำดับ
บทเรียนที่ 7 : UPDATE
จากลิ้งค์ : http://www.w3schools.com/sql/sql_update.asp
คำสั่ง UPDATE ใช้ในการเปลี่ยนแปลงค่าของข้อมูลที่มีอยู่แล้วใน db โดยมีรูปแบบ syntax ดังนี้
ภาพแสดงรูปแบบ syntax ในบทเรียนที่ 7 |
UPDATE Customers
SET ContactName='Alfred Schmidt', City='Hamburg'
โดยไม่กำหนด WHERE ผลที่ได้คือ
ภาพแสดงข้อมูลหลังจากการ UPDATE โดยไม่ใส่ WHERE
จะเห็นได้ว่าข้อมูลของคอลัมน์ ContactName กับ City จะถูกเปลี่ยนไปตามที่code เขียนไว้ แต่จะถูกเปลี่ยนให้เหมือนกันทุกแถว นี่คือผลเสียที่จะเกิดขึ้นในกรณีที่เราไม่กำหนด WHERE ในการ UPDATE
ภาพแสดงข้อมูลก่อนการเปลี่ยนแปลง
|
ภาพแสดงcode ตัวอย่างการ UPDATE |
ภาพแสดงข้อมูลหลังการ UPDATE |
SELECT * FROM Customers
WHERE CustomerName='Alfreds Futterkiste';
บทเรียนที่ 8 : DELETE
จากลิ้งค์ : http://www.w3schools.com/sql/sql_delete.asp
คำสั่ง DELETE คือ คำสั่งที่ใช้ในการลบแถวของข้อมูลออก โดยมี Syntax ดังนี้
ก่อนที่เราจะทำการลบข้อมูล เราจะเช็คข้อมูลก่อนการลบ โดยใช้คำสั่ง SELECT * FROM Customers ซึ่งผลตารางที่ได้คือ
หลังจากการใช้คำสั่ง delete แล้ว ผลที่ได้คือ แถวที่ 1 กับ 6 หายได้ ซึ่งดูได้จาก CustomerID ที่เรียง 2 3 4 5 และ 7 เลย โดยไม่มี 1 กับ 6 ดังรูป
หากต้องการลบข้อมูลทุกแถวในตารางเราจะใช้คำสั่ง DELETE * FROM table_name; หรือ DELETE FROM table_name;โดยไม่กำหนด WHERE นั่นเอง
ภาพแสดง syntax ของบทเรียนที่ 8
ภาพแสดงตารางข้อมูลก่อนการdelete
จะเห็นได้ว่าข้อมูลเรียง จาก 1 ไปเรื่อยๆ โดยไม่ขาดข้อมูลหรือข้ามเลขใดไปเลย จากนั้นเราจะทำการลบ ข้อมูล ที่เกี่ยวกับประเทศ Germany ซึ่งจากในภาพ คือข้อมูลแถวที่ 1 กับแถวที่ 6 (ในความจริงแล้ว มีข้อมูลมากกว่า 7 แถว) ซึ่งใช้คำสั่งในการลบดังนี้
ภาพแสดง code การใช้คำสั่ง DELETE
ภาพแสดงตารางข้อมูลหลังจากใช้คำสั่ง DELETE
หากต้องการลบข้อมูลทุกแถวในตารางเราจะใช้คำสั่ง DELETE * FROM table_name; หรือ DELETE FROM table_name;โดยไม่กำหนด WHERE นั่นเอง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น