SQL พื้นฐาน — ลึกซึ้ง ตอน 2
Photo: Engin Akyurt / Pexels

🎙️ ฉบับพอดแคสต์ — อ่านออกเสียงประมาณ 16 นาที

วันนี้เราจะเจาะลึก SQL พื้นฐานในตอนที่สอง โดยจะพูดถึงคำสั่งที่สำคัญและการใช้งานจริงในฐานข้อมูล.

ในตอนที่แล้ว เราได้พูดถึงพื้นฐานของ SQL หรือ Structured Query Language ซึ่งเป็นภาษาที่ใช้ในการจัดการและเข้าถึงข้อมูลในฐานข้อมูล วันนี้เราจะเจาะลึกกันต่อในเรื่องของ SQL โดยเฉพาะคำสั่งที่สำคัญและการใช้งานจริงในฐานข้อมูล เพื่อให้ทุกคนสามารถนำไปประยุกต์ใช้ได้อย่างมีประสิทธิภาพ

การเลือกข้อมูลด้วย SELECT

คำสั่ง SELECT เป็นคำสั่งพื้นฐานที่ใช้ในการดึงข้อมูลจากฐานข้อมูล โดยเราสามารถเลือกเฉพาะคอลัมน์ที่ต้องการได้ เช่น SELECT column1, column2 FROM table_name; ซึ่งจะทำให้เราสามารถดึงข้อมูลเฉพาะที่ต้องการได้อย่างแม่นยำ นอกจากนี้ เรายังสามารถใช้ WHERE clause เพื่อกรองข้อมูลที่ต้องการได้ เช่น SELECT * FROM table_name WHERE condition; ซึ่งจะช่วยให้เราสามารถเลือกข้อมูลที่ตรงตามเงื่อนไขที่กำหนดได้

การใช้ SELECT ยังสามารถรวมกับฟังก์ชันการรวม (Aggregate Functions) เช่น COUNT(), SUM(), AVG(), MAX(), MIN() เพื่อให้เราสามารถวิเคราะห์ข้อมูลได้ดีขึ้น เช่น SELECT COUNT(*) FROM table_name WHERE condition; จะให้จำนวนแถวที่ตรงตามเงื่อนไขนั้น นอกจากนี้ เรายังสามารถใช้ GROUP BY เพื่อจัดกลุ่มข้อมูลตามคอลัมน์ที่ต้องการได้ เช่น SELECT column1, COUNT(*) FROM table_name GROUP BY column1; ซึ่งจะทำให้เราทราบจำนวนรายการในแต่ละกลุ่มได้

การจัดเรียงข้อมูลด้วย ORDER BY

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

การจัดเรียงข้อมูลจะช่วยให้เรามองเห็นแนวโน้มและรูปแบบของข้อมูลได้ชัดเจนยิ่งขึ้น เช่น หากเรามีข้อมูลการขายสินค้า เราสามารถจัดเรียงข้อมูลตามยอดขายเพื่อดูว่าสินค้าใดขายดีที่สุด นอกจากนี้ เรายังสามารถจัดเรียงข้อมูลตามหลายคอลัมน์ได้ เช่น SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC; ซึ่งจะช่วยให้เราสามารถควบคุมลำดับการจัดเรียงได้อย่างละเอียด

การรวมข้อมูลด้วย JOIN

ในฐานข้อมูลมักมีหลายตารางที่มีความสัมพันธ์กัน ซึ่งเราสามารถใช้คำสั่ง JOIN เพื่อรวมข้อมูลจากหลายตารางเข้าด้วยกันได้ โดยมีหลายประเภทของ JOIN เช่น INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN เป็นต้น

INNER JOIN จะดึงข้อมูลที่มีความสัมพันธ์กันในทั้งสองตารางเท่านั้น เช่น SELECT a.column1, b.column2 FROM table1 a INNER JOIN table2 b ON a.common_column = b.common_column; ซึ่งจะให้ข้อมูลที่มีความสัมพันธ์กันในทั้งสองตาราง ในขณะที่ LEFT JOIN จะดึงข้อมูลจากตารางแรกทั้งหมดและข้อมูลที่ตรงกันจากตารางที่สอง เช่น SELECT a.column1, b.column2 FROM table1 a LEFT JOIN table2 b ON a.common_column = b.common_column; จะทำให้เรามีข้อมูลจากตารางแรกแม้จะไม่มีข้อมูลที่ตรงกันในตารางที่สอง

RIGHT JOIN จะทำในลักษณะตรงกันข้าม โดยจะดึงข้อมูลจากตารางที่สองทั้งหมดและข้อมูลที่ตรงกันจากตารางแรก ในขณะที่ FULL OUTER JOIN จะรวมข้อมูลจากทั้งสองตารางไม่ว่าจะมีความสัมพันธ์กันหรือไม่ โดยจะให้ค่าที่เป็น NULL ในกรณีที่ไม่มีข้อมูลที่ตรงกัน

การปรับปรุงข้อมูลด้วย UPDATE และ DELETE

เมื่อเราต้องการปรับปรุงข้อมูลในฐานข้อมูล เราสามารถใช้คำสั่ง UPDATE เพื่อแก้ไขข้อมูลที่มีอยู่ เช่น UPDATE table_name SET column1 = value1 WHERE condition; ซึ่งจะทำให้เราสามารถเปลี่ยนแปลงข้อมูลที่ต้องการได้ นอกจากนี้ เรายังสามารถใช้คำสั่ง UPDATE ร่วมกับ WHERE clause เพื่อปรับปรุงข้อมูลเฉพาะบางแถวที่ตรงตามเงื่อนไข เช่น UPDATE table_name SET column1 = value1 WHERE column2 = value2;

สำหรับการลบข้อมูล เราสามารถใช้คำสั่ง DELETE เช่น DELETE FROM table_name WHERE condition; ซึ่งจะลบข้อมูลที่ตรงตามเงื่อนไขที่กำหนด โดยต้องระมัดระวังในการใช้คำสั่งนี้ เนื่องจากข้อมูลที่ถูกลบจะไม่สามารถกู้คืนได้ นอกจากนี้ เรายังสามารถใช้ DELETE ร่วมกับ JOIN เพื่อทำการลบข้อมูลจากหลายตารางได้ เช่น DELETE a FROM table1 a INNER JOIN table2 b ON a.common_column = b.common_column WHERE b.condition;

การสร้างและจัดการตารางด้วย CREATE และ ALTER

การสร้างตารางใหม่ในฐานข้อมูลสามารถทำได้ด้วยคำสั่ง CREATE TABLE เช่น CREATE TABLE table_name (column1 datatype, column2 datatype, …); ซึ่งจะช่วยให้เราสามารถสร้างโครงสร้างของข้อมูลที่ต้องการได้ นอกจากนี้ เรายังสามารถกำหนด PRIMARY KEY และ FOREIGN KEY เพื่อควบคุมความสัมพันธ์ระหว่างตารางได้ เช่น CREATE TABLE table_name (column1 datatype PRIMARY KEY, column2 datatype, FOREIGN KEY (column3) REFERENCES another_table(column));

นอกจากนี้ เรายังสามารถใช้คำสั่ง ALTER TABLE เพื่อปรับเปลี่ยนโครงสร้างของตารางที่มีอยู่ เช่น ALTER TABLE table_name ADD column_name datatype; เพื่อเพิ่มคอลัมน์ใหม่ หรือ ALTER TABLE table_name DROP COLUMN column_name; เพื่อลบคอลัมน์ที่ไม่ต้องการ และยังสามารถใช้ ALTER TABLE เพื่อเปลี่ยนชื่อคอลัมน์หรือปรับเปลี่ยนประเภทข้อมูลได้ เช่น ALTER TABLE table_name RENAME COLUMN old_column TO new_column;

การจัดการสิทธิ์การเข้าถึงด้วย GRANT และ REVOKE

การจัดการสิทธิ์การเข้าถึงฐานข้อมูลเป็นสิ่งสำคัญที่ช่วยให้เราสามารถควบคุมว่าใครสามารถทำอะไรในฐานข้อมูลได้ โดยสามารถใช้คำสั่ง GRANT เพื่อมอบสิทธิ์ให้กับผู้ใช้ เช่น GRANT SELECT ON table_name TO user_name; ซึ่งจะให้สิทธิ์ในการอ่านข้อมูลจากตารางนั้น ๆ นอกจากนี้ เรายังสามารถมอบสิทธิ์หลาย ๆ อย่างได้ในครั้งเดียว เช่น GRANT SELECT, INSERT, UPDATE ON table_name TO user_name;

ในทางกลับกัน หากต้องการเพิกถอนสิทธิ์ที่มอบให้ไปแล้ว เราสามารถใช้คำสั่ง REVOKE เช่น REVOKE SELECT ON table_name FROM user_name; ซึ่งจะทำให้ผู้ใช้นั้นไม่สามารถเข้าถึงข้อมูลในตารางได้อีกต่อไป

สรุป

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

หวังว่าคุณจะได้ความรู้ใหม่ๆ และสามารถนำไปประยุกต์ใช้ในการทำงานของคุณได้อย่างมีประสิทธิภาพ

ที่มา: TechExtreme Editorial

#SQL พื้นฐาน — ลึกซึ้ง ตอน 2 #dev #พอดแคสต์ #TechExtreme #พอดแคสต์ #TechExtremePodcast

ขอบคุณที่ติดตามเรามาจนถึงตอนนี้ หวังว่าคุณจะได้ความรู้ใหม่ๆ เกี่ยวกับ SQL.