กำลังโหลด...
การเพิ่ม แก้ไข และลบข้อมูลด้วย INSERT, UPDATE และ DELETE
บทความและข่าวสาร

การเพิ่ม แก้ไข และลบข้อมูลด้วย INSERT, UPDATE และ DELETE

Chalothorn Kosakul 14 กรกฎาคม 2569 0 ครั้ง

การเพิ่ม แก้ไข และลบข้อมูลด้วย INSERT, UPDATE และ DELETE ในภาษา SQL (MySQL)

DML คืออะไร

เมื่อสร้างฐานข้อมูลและตารางเรียบร้อยแล้ว ขั้นตอนต่อไปคือการจัดการข้อมูลภายในตาราง ซึ่งภาษา SQL มีชุดคำสั่งที่เรียกว่า DML (Data Manipulation Language) สำหรับจัดการข้อมูล ได้แก่

  • INSERT เพิ่มข้อมูลใหม่
  • UPDATE แก้ไขข้อมูลเดิม
  • DELETE ลบข้อมูลออกจากตาราง

คำสั่งเหล่านี้เป็นพื้นฐานที่ใช้ในทุกระบบสารสนเทศ เช่น ระบบร้านค้า ระบบทะเบียนนักศึกษา ระบบโรงพยาบาล และระบบธนาคาร


ตารางตัวอย่าง

ใช้ตาราง products

CREATE TABLE products (
    product_id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(100),
    category VARCHAR(50),
    price DECIMAL(10,2),
    stock INT,
    brand VARCHAR(50),
    created_date DATE
);

INSERT คืออะไร

คำสั่ง INSERT INTO ใช้สำหรับเพิ่มข้อมูลใหม่เข้าไปในตาราง

โครงสร้าง

INSERT INTO table_name(column1,column2,...)
VALUES(value1,value2,...);

เพิ่มข้อมูล 1 รายการ

INSERT INTO products
(product_name,category,price,stock,brand,created_date)
VALUES
('Notebook Dell Inspiron', 'Computer', 25900, 10, 'Dell', '2026-07-14');

ผลลัพธ์

product_idproduct_namecategoryprice
21Notebook Dell InspironComputer25900.00

ตรวจสอบข้อมูล

SELECT * FROM products;

จะพบว่ามีข้อมูลเพิ่มเข้ามาอีก 1 แถว


เพิ่มหลายรายการพร้อมกัน

INSERT INTO products
(product_name,category,price,stock,brand,created_date)
VALUES
('Mechanical Keyboard','Accessory',1590,30,'Keychron','2026-07-14'),
('Gaming Mouse','Accessory',990,50,'Logitech','2026-07-14'),
('USB Type-C Cable','Accessory',250,100,'Ugreen','2026-07-14');

ข้อดี

  • เพิ่มข้อมูลได้หลายรายการพร้อมกัน
  • ลดจำนวนครั้งที่ติดต่อกับฐานข้อมูล
  • ทำงานได้รวดเร็วกว่า

UPDATE คืออะไร

ใช้แก้ไขข้อมูลที่มีอยู่เดิมในตาราง

โครงสร้าง

UPDATE table_name
SET column=value
WHERE เงื่อนไข;

แก้ไขราคาสินค้า

UPDATE products
SET price=24900
WHERE product_id=21;

ผลลัพธ์

ก่อนแก้ไขหลังแก้ไข
25900.0024900.00

แก้ไขหลายคอลัมน์พร้อมกัน

UPDATE products
SET
    price=23900,
    stock=20,
    brand='Dell Thailand'
WHERE product_id=21;

UPDATE โดยใช้เงื่อนไขแบบกลุ่ม

เพิ่มจำนวนสินค้าในหมวด Accessory ขึ้นอีกชิ้นละ 10 รายการ

UPDATE products
SET stock=stock+10
WHERE category='Accessory';

ผลลัพธ์: สินค้าทุกชิ้นในหมวด Accessory จะมีจำนวนเพิ่มขึ้น 10 ชิ้นทันที


⚠️ ข้อควรระวังที่สุด!

หากคุณลืมระบุเงื่อนไข WHERE เช่น:

UPDATE products
SET price=0;

ผลลัพธ์คือ ข้อมูลราคาสินค้าทุกแถวในตารางจะกลายเป็น 0 ทันที! ดังนั้นควรตรวจสอบเงื่อนไขให้ดีก่อนกด Execute เสมอ


DELETE คืออะไร

คำสั่ง DELETE ใช้สำหรับลบข้อมูลออกจากตาราง

โครงสร้าง

DELETE FROM table_name
WHERE เงื่อนไข;

ลบข้อมูล 1 รายการ

DELETE FROM products
WHERE product_id=21;

ข้อมูลสินค้าที่มีรหัส 21 จะถูกลบออกจากตาราง


ลบข้อมูลตามเงื่อนไข

ลบสินค้าที่มีราคาต่ำกว่า 300 บาท

DELETE FROM products
WHERE price < 300;

ผลลัพธ์: สินค้าประเภทสายเชื่อมต่อหรืออุปกรณ์ที่ราคาต่ำกว่า 300 บาททั้งหมดจะถูกลบไป


⚠️ ข้อควรระวังสูงสุด!

DELETE FROM products;

คำสั่งนี้จะลบข้อมูลทั้งหมดที่อยู่ในตาราง แต่โครงสร้างตาราง (Columns และ Data Types) ยังคงอยู่เหมือนเดิม


เปรียบเทียบ INSERT vs UPDATE vs DELETE

คำสั่งหน้าที่การทำงาน
INSERTใช้เพิ่มข้อมูลแถวใหม่เข้าไปในตาราง
UPDATEใช้แก้ไขรายละเอียดของข้อมูลเดิมที่มีอยู่แล้ว
DELETEใช้ลบข้อมูลที่ไม่จำเป็นออกจากตาราง

ตัวอย่างจำลองการทำงานในชีวิตจริง

เมื่อร้านค้าได้รับสินค้าประเภท Storage ตัวใหม่เข้ามาในระบบ:

1. เพิ่มสินค้าใหม่

INSERT INTO products
(product_name,category,price,stock,brand,created_date)
VALUES
('SSD Samsung 2TB', 'Storage', 4590, 25, 'Samsung', CURDATE());

2. ต่อมาพบว่าใส่ราคาขายผิด จึงต้องการแก้ไขให้ถูกต้อง

UPDATE products
SET price=4290
WHERE product_name='SSD Samsung 2TB';

3. เมื่อสินค้ารุ่นนี้ขายหมดและเลิกจัดจำหน่ายถาวร

DELETE FROM products
WHERE product_name='SSD Samsung 2TB';

แนวทางปฏิบัติ

  1. ใช้คำสั่ง SELECT เพื่อตรวจสอบข้อมูลก่อนทำการ UPDATE หรือ DELETE ทุกครั้ง เพื่อความมั่นใจ
  2. ห้ามลืมระบุเงื่อนไข WHERE เด็ดขาดในคำสั่งเขียนแก้ไขและลบ เว้นแต่จะตั้งใจทำกับข้อมูลทั้งตารางจริงๆ
  3. ควรสำรองฐานข้อมูล (Backup) เสมอก่อนแก้ไขข้อมูลชุดใหญ่ในระบบใช้งานจริง

สรุปเนื้อหาสำคัญ

คำสั่ง DML ทั้งสามตัวนี้ถือเป็นหัวใจของการพัฒนาโปรแกรมเชื่อมโยงระบบฐานข้อมูล:

  • INSERT: เพิ่มแถวใหม่
  • UPDATE: แก้ไขของเก่าที่มีอยู่
  • DELETE: ลบแถวที่ไม่ต้องการออก

ขอให้นักเรียนทุกคนให้ความระมัดระวังเป็นพิเศษเมื่อต้องใช้ UPDATE และ DELETE ครับ


แบบฝึกหัดท้ายบท

  1. ให้นักเรียนทดลองเขียนคำสั่งเพิ่มข้อมูลสินค้าใหม่จำนวน 2 รายการ
  2. เขียนคำสั่งเพิ่มสินค้าประเภท Printer จำนวน 1 รายการ
  3. เขียนคำสั่งแก้ไขราคาสินค้า Notebook ในระบบให้ลดราคาลง 1,000 บาท
  4. เขียนคำสั่งเพิ่มจำนวนสินค้า (Stock) ในหมวด "Mobile" อีก 5 ชิ้น
  5. เขียนคำสั่งเปลี่ยนชื่อยี่ห้อ (Brand) จากเดิม 'Logitech' ให้เป็น 'Logitech G' ทั้งหมด
  6. เขียนคำสั่งลบสินค้าที่มีจำนวนคงเหลือ (Stock) เป็น 0
  7. เขียนคำสั่งลบสินค้าที่มีราคาต่ำกว่า 500 บาท
  8. จงใช้คำสั่ง SELECT เพื่อแสดงผลเปรียบเทียบข้อมูลก่อนและหลังปรับปรุง (Update)
  9. ให้นักเรียนสังเกตและวิเคราะห์ความแตกต่างของผลลัพธ์ระหว่างการรัน DELETE แบบระบุ WHERE และไม่ระบุ WHERE
  10. จงเขียนสรุปสั้นๆ เพื่ออธิบายความแตกต่างของ INSERT, UPDATE และ DELETE พร้อมยกตัวอย่างกรณีศึกษาในชีวิตประจำวัน