CRUD Operations: เพิ่ม แก้ไข ลบ และอ่านข้อมูล
ในบทที่แล้ว เราได้เรียนรู้วิธีการสร้างฐานข้อมูลและตารางใน SQLite กันไปแล้ว ในบทนี้ เราจะมาเรียนรู้การใช้งานคำสั่ง SQL พื้นฐานที่สำคัญที่สุด นั่นก็คือ CRUD Operations ซึ่งเป็นหัวใจหลักของการจัดการข้อมูลในฐานข้อมูลเลยก็ว่าได้ CRUD ย่อมาจาก Create, Read, Update และ Delete ซึ่งหมายถึงการสร้าง, อ่าน, แก้ไข และลบข้อมูลตามลำดับ
CRUD Operations เป็นพื้นฐานสำคัญในการพัฒนาแอปพลิเคชันใดๆ ก็ตามที่ต้องมีการจัดเก็บและจัดการข้อมูล ดังนั้นการเข้าใจและใช้งานคำสั่งเหล่านี้ได้อย่างคล่องแคล่ว จะช่วยให้คุณสามารถพัฒนาแอปพลิเคชันได้อย่างมีประสิทธิภาพมากยิ่งขึ้น
1. การเพิ่มข้อมูล (Create) ด้วย INSERT INTO
คำสั่ง INSERT INTO ใช้สำหรับเพิ่มข้อมูลใหม่ลงในตาราง โดยมีรูปแบบการใช้งานดังนี้:
INSERT INTO ชื่อตาราง (คอลัมน์1, คอลัมน์2, ...)
VALUES (ค่า1, ค่า2, ...);
คำอธิบาย:
INSERT INTO: เป็นคำสั่งเริ่มต้นที่บอกว่าเราต้องการเพิ่มข้อมูลลงในตารางชื่อตาราง: คือชื่อของตารางที่เราต้องการเพิ่มข้อมูล(คอลัมน์1, คอลัมน์2, ...): คือชื่อของคอลัมน์ที่เราต้องการระบุค่าให้กับมัน ถ้าเราต้องการระบุค่าให้กับทุกคอลัมน์ในตาราง เราสามารถละเว้นส่วนนี้ได้VALUES (ค่า1, ค่า2, ...): คือค่าที่เราต้องการใส่ลงในแต่ละคอลัมน์ โดยค่าเหล่านี้จะต้องเรียงตามลำดับของคอลัมน์ที่เราได้ระบุไว้
ตัวอย่าง:
สมมติว่าเรามีตารางชื่อ customers ที่มีคอลัมน์ id (INTEGER), name (TEXT) และ email (TEXT) เราสามารถเพิ่มข้อมูลใหม่ลงในตารางได้ดังนี้:
INSERT INTO customers (name, email)
VALUES ('John Doe', 'john.doe@example.com');
ในตัวอย่างนี้ เราได้ระบุค่าให้กับคอลัมน์ name และ email เท่านั้น เนื่องจากคอลัมน์ id อาจถูกกำหนดให้เป็น AUTOINCREMENT ซึ่ง SQLite จะจัดการสร้างค่าให้เองโดยอัตโนมัติ
กรณีใช้งานจริง:
ลองนึกภาพว่าคุณกำลังสร้างแอปพลิเคชันสำหรับจัดการรายชื่อผู้ติดต่อ คุณสามารถใช้คำสั่ง INSERT INTO เพื่อเพิ่มข้อมูลผู้ติดต่อใหม่ลงในฐานข้อมูลได้
ข้อผิดพลาดที่พบบ่อย:
- ลำดับของค่าไม่ถูกต้อง: ตรวจสอบให้แน่ใจว่าลำดับของค่าใน
VALUESตรงกับลำดับของคอลัมน์ที่เราได้ระบุไว้ - ชนิดข้อมูลไม่ตรงกัน: ค่าที่เราใส่ลงในแต่ละคอลัมน์จะต้องมีชนิดข้อมูลที่ตรงกับชนิดข้อมูลของคอลัมน์นั้นๆ
- ละเว้นคอลัมน์ที่จำเป็น: ถ้าคอลัมน์ใดมีข้อจำกัด
NOT NULLเราจะต้องระบุค่าให้กับคอลัมน์นั้นเสมอ
2. การอ่านข้อมูล (Read) ด้วย SELECT
คำสั่ง SELECT ใช้สำหรับดึงข้อมูลจากตาราง โดยมีรูปแบบการใช้งานดังนี้:
SELECT คอลัมน์1, คอลัมน์2, ...
FROM ชื่อตาราง;
คำอธิบาย:
SELECT: เป็นคำสั่งเริ่มต้นที่บอกว่าเราต้องการดึงข้อมูลคอลัมน์1, คอลัมน์2, ...: คือชื่อของคอลัมน์ที่เราต้องการดึงข้อมูล ถ้าเราต้องการดึงข้อมูลทุกคอลัมน์ เราสามารถใช้เครื่องหมาย*ได้FROM: เป็นคำสั่งที่บอกว่าเราต้องการดึงข้อมูลจากตารางใดชื่อตาราง: คือชื่อของตารางที่เราต้องการดึงข้อมูล
ตัวอย่าง:
ถ้าเราต้องการดึงข้อมูล name และ email จากตาราง customers เราสามารถใช้คำสั่งดังนี้:
SELECT name, email
FROM customers;
ถ้าเราต้องการดึงข้อมูลทุกคอลัมน์จากตาราง customers เราสามารถใช้คำสั่งดังนี้:
SELECT *
FROM customers;
กรณีใช้งานจริง:
ในแอปพลิเคชันจัดการรายชื่อผู้ติดต่อ เราสามารถใช้คำสั่ง SELECT เพื่อดึงรายชื่อผู้ติดต่อทั้งหมดมาแสดงผลบนหน้าจอได้
ข้อผิดพลาดที่พบบ่อย:
- พิมพ์ชื่อคอลัมน์ผิด: ตรวจสอบให้แน่ใจว่าเราพิมพ์ชื่อคอลัมน์ถูกต้อง
- พิมพ์ชื่อตารางผิด: ตรวจสอบให้แน่ใจว่าเราพิมพ์ชื่อตารางถูกต้อง
3. การแก้ไขข้อมูล (Update) ด้วย UPDATE
คำสั่ง UPDATE ใช้สำหรับแก้ไขข้อมูลในตาราง โดยมีรูปแบบการใช้งานดังนี้:
UPDATE ชื่อตาราง
SET คอลัมน์1 = ค่า1, คอลัมน์2 = ค่า2, ...
WHERE เงื่อนไข;
คำอธิบาย:
UPDATE: เป็นคำสั่งเริ่มต้นที่บอกว่าเราต้องการแก้ไขข้อมูลชื่อตาราง: คือชื่อของตารางที่เราต้องการแก้ไขข้อมูลSET: เป็นคำสั่งที่บอกว่าเราต้องการกำหนดค่าใหม่ให้กับคอลัมน์ใดบ้างคอลัมน์1 = ค่า1, คอลัมน์2 = ค่า2, ...: คือชื่อของคอลัมน์ที่เราต้องการแก้ไขและค่าใหม่ที่เราต้องการกำหนดให้กับคอลัมน์นั้นๆWHERE: เป็นส่วนที่ระบุเงื่อนไขว่าเราต้องการแก้ไขข้อมูลในแถวใดบ้าง หากไม่ระบุWHEREจะทำการแก้ไขข้อมูลทุกแถวในตารางเงื่อนไข: คือเงื่อนไขที่เราใช้ในการระบุแถวที่เราต้องการแก้ไข
ตัวอย่าง:
ถ้าเราต้องการเปลี่ยน email ของลูกค้าที่มี id เท่ากับ 1 เป็น 'new.email@example.com' เราสามารถใช้คำสั่งดังนี้:
UPDATE customers
SET email = 'new.email@example.com'
WHERE id = 1;
กรณีใช้งานจริง:
ในแอปพลิเคชันจัดการรายชื่อผู้ติดต่อ หากผู้ใช้เปลี่ยน email address เราสามารถใช้คำสั่ง UPDATE เพื่ออัพเดทข้อมูลในฐานข้อมูลได้
ข้อผิดพลาดที่พบบ่อย:
- ลืมระบุ
WHEREclause: หากลืมระบุWHEREclause ข้อมูลทุกแถวในตารางจะถูกแก้ไข ซึ่งอาจทำให้ข้อมูลเสียหายได้ - เงื่อนไขไม่ถูกต้อง: ตรวจสอบให้แน่ใจว่าเงื่อนไขใน
WHEREclause ถูกต้องและสามารถระบุแถวที่เราต้องการแก้ไขได้อย่างแม่นยำ - ชนิดข้อมูลไม่ตรงกัน: ค่าที่เราใส่ลงในแต่ละคอลัมน์จะต้องมีชนิดข้อมูลที่ตรงกับชนิดข้อมูลของคอลัมน์นั้นๆ
4. การลบข้อมูล (Delete) ด้วย DELETE
คำสั่ง DELETE ใช้สำหรับลบข้อมูลออกจากตาราง โดยมีรูปแบบการใช้งานดังนี้:
DELETE FROM ชื่อตาราง
WHERE เงื่อนไข;
คำอธิบาย:
DELETE FROM: เป็นคำสั่งเริ่มต้นที่บอกว่าเราต้องการลบข้อมูลชื่อตาราง: คือชื่อของตารางที่เราต้องการลบข้อมูลWHERE: เป็นส่วนที่ระบุเงื่อนไขว่าเราต้องการลบข้อมูลในแถวใดบ้าง หากไม่ระบุWHEREจะทำการลบข้อมูลทุกแถวในตารางเงื่อนไข: คือเงื่อนไขที่เราใช้ในการระบุแถวที่เราต้องการลบ
ตัวอย่าง:
ถ้าเราต้องการลบข้อมูลลูกค้าที่มี id เท่ากับ 1 ออกจากตาราง เราสามารถใช้คำสั่งดังนี้:
DELETE FROM customers
WHERE id = 1;
กรณีใช้งานจริง:
ในแอปพลิเคชันจัดการรายชื่อผู้ติดต่อ หากผู้ใช้ต้องการลบผู้ติดต่อออกจากระบบ เราสามารถใช้คำสั่ง DELETE เพื่อลบข้อมูลออกจากฐานข้อมูลได้
ข้อผิดพลาดที่พบบ่อย:
- ลืมระบุ
WHEREclause: หากลืมระบุWHEREclause ข้อมูลทุกแถวในตารางจะถูกลบ ซึ่งอาจทำให้ข้อมูลเสียหายได้ - เงื่อนไขไม่ถูกต้อง: ตรวจสอบให้แน่ใจว่าเงื่อนไขใน
WHEREclause ถูกต้องและสามารถระบุแถวที่เราต้องการลบได้อย่างแม่นยำ
ข้อควรระวัง: การลบข้อมูลเป็นสิ่งที่ต้องระมัดระวังเป็นพิเศษ เนื่องจากข้อมูลที่ถูกลบไปแล้วจะไม่สามารถกู้คืนได้ง่ายๆ ดังนั้นควรตรวจสอบให้แน่ใจก่อนที่จะทำการลบข้อมูลเสมอ
ในบทนี้ เราได้เรียนรู้คำสั่ง SQL พื้นฐานที่สำคัญที่สุดในการจัดการข้อมูลใน SQLite นั่นก็คือ CRUD Operations ซึ่งประกอบด้วยคำสั่ง INSERT INTO, SELECT, UPDATE และ DELETE การเข้าใจและใช้งานคำสั่งเหล่านี้ได้อย่างคล่องแคล่ว จะเป็นพื้นฐานที่สำคัญในการพัฒนาแอปพลิเคชันใดๆ ก็ตามที่ต้องมีการจัดเก็บและจัดการข้อมูล ในบทถัดไป เราจะมาเรียนรู้การใช้ WHERE clause เพื่อกรองข้อมูลที่เราต้องการดึงออกมาจากฐานข้อมูลกัน