สหกิจซีรี่ย์-ไม่ยากถ้าอยากรู้จัก MySQL ตอนที่ 2

Thanachan GNR
WeLoveBug dot Com
Published in
2 min readJul 14, 2023

สิ่งที่ได้เรียนรู้ในสัปดาห์ที่ 5 จากการเข้า MySQL Workshop

จากครั้งที่แล้วเราพูดถึง SQL Commands ทั้ง 2 ตัว ก็คือ DDL และ DML ไปกันแล้ว ในครั้งนี้เราจะมาทำความรู้จักกับ SQL Commands ที่เหลืออีก 3 ตัวกันนะครับ

จะเป็นยังไงเราไปอ่านกันเลย!

ที่มา: MySQL tutorial: The beginner’s guide to using MySQL (educative.io)

Data Query Language — DQL

เป็นภาาษาที่ใช้สำหรับการใช้เรียกหรือดึงข้อมูลในชุดฐานข้อมูล โดยจะเรียกดึงข้อมูลได้ทั้งในรูปแบบการเลือกข้อมูลในคอลัมน์ที่ต้องการ, กรองข้อมูลตามเงื่อนไข, เรียงลำดับผลลัพธ์ รวมถึงการเชื่อมข้อมูลตารางข้อมูลต่างๆเข้าด้วยกัน

โดยจะมีคำสั่งต่อไปนี้

1.SELECT เป็นคำสั่งสำหรับในการดึงชุดข้อมูลในตาราง

ภาพอ้างอิงตัวอย่างการใช้คำสั่ง SELECT.

ในคำสั่ง SELECT จะระบุคอลัมน์ที่ต้องการดึงข้อมูลออกมาแสดงผลโดยสามารถระบุได้หลายคอลัมน์ หรือถ้าต้องการดึงข้อมูลออกมาทุกคอลัมน์สามารถใช้เครื่องหมาย “*” แทนที่ เป็นการเลือกทุกคอลัมน์ที่มีในตาราง

ภาพอ้างอิงการใช้เครื่องหมาย “*”

และยังสามารถใช้รวมกับคำสั่ง “WHERE” ในการระบุเงื่อนไขได้อีกด้วย

ภาพตัวอย่างของคำสั่ง SELECT ที่ใช้ร่วมกับคำสั่ง WHERE

ในตัวอย่าง คำสั่งเราใช้ SELECT เพื่อดึงชุดข้อมูลชื่อของลูกค้าและอีเมล์ของลูกค้าแล้วใช้คำสั่ง WHERE เพื่อระบุประเทศเป็น “Thailand” จากตาราง Customers

นอกจากนี้คำสั่งใน SQL ยังสามารถใช้ร่วมกับคำสั่งอื่นๆได้อีกเช่น

ORDER BY — เรียงลำดับผลลัพธ์

เป็นคำสั่งใช้สำหรับการเรียงลำดับข้อมูลตามคอลัมน์ที่ระบุเอาไว้

ภาพอ้างอิงการใช้คำสั่ง SELECT ที่ใช้ร่วมกับคำสั่ง ORDER BY

ในคำสั่งนี้เราใช้คำสั่ง SELECT ตามด้วยคอลัมน์ที่เราต้องดึงข้อมูลมาเพื่อแสดงผล ตามด้วย FROM เพื่อระบุตัวตารางข้อมูลที่เราต้องการดึงข้อมูลจากคอลัมน์นั้น จากนั้นเราจะใช้คำสั่ง ORDER BY เพื่อระบุคอลัมน์ที่ต้องการเรียงลำดับข้อมูล ซึ่งสามารถระบุได้หลายคอลัมน์ โดยการเรียงลำดับเราจะใช้

ASC (จากน้อยไปมาก) และ DESC (จากมากไปน้อย) เพื่อกำหนดเงื่อนไขในการเรียงลำดับ

LIMIT — เป็นชุดคำสั่งสำหรับการจัดลำดับแถวผลลัพธ์ที่แสดงออกมาจากการดึงข้อมูลในฐานข้อมูล โดยสามารถใช้คำสั่งนี้เพื่อแสดงผลลัพธ์เฉพาะจำนวนแถวที่เราต้องการที่จะดึงข้อมูลเพื่อให้แสดงผลได้

ภาพอ้างอิงการใช้คำสั่ง SELECT ร่วมกับคำสั่ง LIMIT

จากภาพตัวอย่างเรามีทำการใช้คำสั่ง SELECT เพื่อดึงข้อมูลทั้งหมดจากตาราง customers ตามด้วยคำสั่ง Limit 10 เพื่อแสดงผลลัพธ์เฉพาะ 10 แถวแรกที่พบ

Transaction Control Language — TCL

เป็นภาษาที่ใช้ชุดคำสั่งสำหรับการควบคุมการดำเนินการในฐานข้อมูล หรือควบคุมการเปลี่ยนแปลงของฐานข้อมูลเช่น COMMIT คือการยืนยันการเปลี่ยนแปลง หรือ ROLLBACK การยกเลิกการเปลี่ยนแปลง ยังมีคำสั่งตัวอื่นอีกนะ ไปดูกัน!

COMMIT

เป็นคำสั่งสำหรับการยืนยันการเปลี่ยนแปลงของฐานข้อมูลทั้งหมดที่เกิดขึ้น อย่างเช่น

การเปลี่ยนแปลงสถานะจาก “รอการยืนยัน” ไป “ยืนยันแล้ว”

ROLLBACK

เป็นคำสั่งสำหรับการยกเลิกการเปลี่ยนแปลงของฐานข้อมูลและเรียกคืนสถานะของฐานข้อมูลกลับไปยังจุดเริ่มต้นก่อนหน้า

SAVEPOINT

เป็นคำสั่งสำหรับใช้สร้างจุดบันทึก หรือก็คือจุด checkpoint นั้นเอง เพื่อระบุจุดที่เราต้องการใช้ในการ ROLLBACK ในเฉพาะส่วนที่เราต้องการที่จะย้อนกลับของสถานะฐานข้อมูลของเรานั้นเอง

Data Control Language — DCL

เป็นชุดคำสั่งสำหรับใช้ในการควบคุมสิทธิ์และการเข้าถึงข้อมูลในฐานข้อมูล โดยมีคำสั่งเหล่านี้เพื่อกำหนดสิทธิ์ในการเข้าถึงฐานข้อมูล

GRANT

เป็นคำสั่งสำหรับการกำหนดสิทธิ์ในการเข้าถึงข้อมูลและการดำเนินการต่างๆ ในฐานข้อมูลให้กับผู้ใช้

ภาพอ้างอิงในการใช้คำสั่ง GRANT

ในภาพตัวอย่างเราใช้คำสั่ง GRANT เพื่อกำหนดสิทธิ์ให้ user1

สามารถดึงข้อมูล (SELECT), เพิ่มข้อมูล (INSERT) และ อัปเดตข้อมูล (UPDATE) ในตาราง customers ได้

REVOKE

เป็นคำสั่งสำหรับใช้ในการถอนสิทธิ์การเข้าถึงฐานข้อมูลและการดำเนินการที่เคยกำหนดให้กับผู้ใช้ที่ได้รับสิทธิ์ในการเข้าถึงฐานข้อมูล

โดยการใช้คำสั่ง REVOKE จะยกเลิกสิทธิ์ที่เคยให้กับผู้ใช้

ภาพอ้างอิงตัวอย่างในการใช้คำสั่ง REVOKE

ในภาพตัวอย่างเรามีการใช้คำสั่ง REVOKE เพื่อ ยกเลิกสิทธิ์ให้กับ user1

ให้ไม่สามารถดึงข้อมูล (SELECT), อัปเดตข้อมูล (UPDATE) ในตาราง customer ได้

ถึงคนที่ค่อยๆอ่านที่ละบทความกลับมาเจอกันอีกแล้วนะครับ ส่วนคนที่อ่านรวดเดียวยินดีที่ได้รู้จักครับ บทความในครั้งนี้เป็นเรื่องที่ต่อจากคราวที่แล้วครับ โดยจะเล่าถึงตัว SQL Commands อีกสามตัวที่เหลือในตอนที่เข้า SQL Workshop ที่สอนโดยพี่นัท นับว่าสัปดาห์นี้เนื้อหาค่อนข้างยากนิดนึงสำหรับเรา (ฮา) ต้องใช้เวลานานพอสมควรกว่าจะทำความเข้าใจมันได้ และยังได้รู้ว่า Commands สามารถนำมาใช้ด้วยกันได้เพื่อเพิ่มเงื่อนไขให้กับชุดคำสั่งนั้นได้ แต่ก็พ่วงมากับความงงเหมือนกันนะ (ฮา)

ถ้าเช่นนั้น ก็ขอหยุดพิมพ์หน้ากระดาษลงตรงนี้

พร้อมกับหวังว่าจะได้เปิดเนื้อหาในครั้งต่อไป

ขอขอบคุณที่เข้ามาอ่านมากนะครับ!

--

--