การอ่านข้อมูล (SELECT)
ในบทที่แล้ว เราได้เรียนรู้วิธีการเพิ่มข้อมูลลงในตารางด้วยคำสั่ง INSERT INTO ในบทนี้ เราจะมาเรียนรู้วิธีการอ่านข้อมูลที่อยู่ในตารางของเราด้วยคำสั่ง SELECT ซึ่งเป็นคำสั่งพื้นฐานและสำคัญที่สุดคำสั่งหนึ่งใน SQL
คำสั่ง SELECT ใช้สำหรับดึงข้อมูลจากฐานข้อมูล MySQL ไม่ว่าจะเป็นข้อมูลทั้งหมดในตาราง หรือเฉพาะบางคอลัมน์ หรือเฉพาะแถวที่ตรงตามเงื่อนไขที่เรากำหนด
รูปแบบคำสั่ง SELECT พื้นฐาน
รูปแบบคำสั่ง SELECT ที่ง่ายที่สุดประกอบด้วยส่วนประกอบหลัก 2 ส่วน คือ
SELECT: ระบุคอลัมน์ที่เราต้องการดึงข้อมูลFROM: ระบุตารางที่เราต้องการดึงข้อมูลจาก
รูปแบบทั่วไปของคำสั่ง SELECT คือ:
SELECT column1, column2, ...
FROM table_name;
โดย column1, column2, ... คือชื่อคอลัมน์ที่เราต้องการดึงข้อมูล และ table_name คือชื่อตารางที่เราต้องการดึงข้อมูลจาก
การใช้ SELECT *
ถ้าเราต้องการดึงข้อมูลทั้งหมดจากทุกคอลัมน์ในตาราง เราสามารถใช้เครื่องหมาย * (ดอกจัน) แทนชื่อคอลัมน์ทั้งหมดได้
รูปแบบคำสั่ง:
SELECT *
FROM table_name;
* หมายถึง "ทุกคอลัมน์" ดังนั้นคำสั่งนี้จะดึงข้อมูลทั้งหมดจากทุกคอลัมน์ในตารางที่ระบุ
ตัวอย่าง
สมมติว่าเรามีตารางชื่อ customers ที่มีคอลัมน์ id, first_name, last_name, และ email
ถ้าเราต้องการดึงข้อมูลทั้งหมดจากตาราง customers เราสามารถใช้คำสั่ง:
SELECT *
FROM customers;
ผลลัพธ์ที่ได้จะเป็นข้อมูลทั้งหมดจากทุกคอลัมน์ในตาราง customers เช่น:
+----+------------+-----------+-----------------------+
| id | first_name | last_name | email |
+----+------------+-----------+-----------------------+
| 1 | John | Doe | john.doe@example.com |
| 2 | Jane | Smith | jane.smith@example.com |
| 3 | Peter | Jones | peter.jones@example.com|
+----+------------+-----------+-----------------------+
การเลือกเฉพาะบางคอลัมน์ (SELECT column_name)
ในบางครั้ง เราอาจไม่ต้องการดึงข้อมูลทั้งหมดจากทุกคอลัมน์ แต่ต้องการดึงข้อมูลจากบางคอลัมน์เท่านั้น เราสามารถระบุชื่อคอลัมน์ที่เราต้องการได้ในส่วนของ SELECT โดยคั่นแต่ละคอลัมน์ด้วยเครื่องหมาย comma (,)
รูปแบบคำสั่ง:
SELECT column1, column2, column3
FROM table_name;
ตัวอย่าง
จากตาราง customers เดิม ถ้าเราต้องการดึงเฉพาะชื่อและนามสกุลของลูกค้า เราสามารถใช้คำสั่ง:
SELECT first_name, last_name
FROM customers;
ผลลัพธ์ที่ได้จะเป็นเฉพาะคอลัมน์ first_name และ last_name จากตาราง customers เช่น:
+------------+-----------+
| first_name | last_name |
+------------+-----------+
| John | Doe |
| Jane | Smith |
| Peter | Jones |
+------------+-----------+
การระบุชื่อตาราง (FROM table_name)
ส่วนของ FROM ในคำสั่ง SELECT ใช้เพื่อระบุชื่อตารางที่เราต้องการดึงข้อมูลจาก เป็นส่วนที่ขาดไม่ได้ เพราะ MySQL จะต้องรู้ว่าเราต้องการดึงข้อมูลจากตารางไหน
รูปแบบคำสั่ง:
FROM table_name;
โดย table_name คือชื่อตารางที่เราต้องการดึงข้อมูลจาก
ตัวอย่าง
จากตัวอย่างก่อนหน้า เราใช้ FROM customers เพื่อบอก MySQL ว่าเราต้องการดึงข้อมูลจากตารางชื่อ customers
SELECT first_name, last_name
FROM customers;
ถ้าเราพิมพ์ชื่อตารางผิด หรือตารางนั้นไม่มีอยู่จริง MySQL จะแสดงข้อผิดพลาด
สรุป
ในบทนี้ เราได้เรียนรู้พื้นฐานของการใช้คำสั่ง SELECT ใน MySQL ซึ่งเป็นคำสั่งที่ใช้สำหรับดึงข้อมูลจากฐานข้อมูล เราได้เรียนรู้การใช้ SELECT * เพื่อดึงข้อมูลทั้งหมด, การเลือกเฉพาะบางคอลัมน์, และการระบุชื่อตารางด้วย FROM
ในบทต่อไป เราจะเรียนรู้การใช้ WHERE clause เพื่อกรองข้อมูลที่เราต้องการดึง ซึ่งจะช่วยให้เราดึงข้อมูลที่ต้องการได้อย่างแม่นยำยิ่งขึ้น