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

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

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

การเพิ่ม แก้ไข และลบข้อมูลด้วย 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 พร้อมยกตัวอย่างกรณีศึกษาในชีวิตประจำวัน

แชร์บทความนี้