เมื่อสร้างฐานข้อมูลและตารางเรียบร้อยแล้ว ขั้นตอนต่อไปคือการจัดการข้อมูลภายในตาราง ซึ่งภาษา SQL มีชุดคำสั่งที่เรียกว่า DML (Data Manipulation Language) สำหรับจัดการข้อมูล ได้แก่
คำสั่งเหล่านี้เป็นพื้นฐานที่ใช้ในทุกระบบสารสนเทศ เช่น ระบบร้านค้า ระบบทะเบียนนักศึกษา ระบบโรงพยาบาล และระบบธนาคาร
ใช้ตาราง 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 INTO ใช้สำหรับเพิ่มข้อมูลใหม่เข้าไปในตาราง
โครงสร้าง
INSERT INTO table_name(column1,column2,...)
VALUES(value1,value2,...);INSERT INTO products
(product_name,category,price,stock,brand,created_date)
VALUES
('Notebook Dell Inspiron', 'Computer', 25900, 10, 'Dell', '2026-07-14');ผลลัพธ์
| product_id | product_name | category | price |
|---|---|---|---|
| 21 | Notebook Dell Inspiron | Computer | 25900.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 table_name
SET column=value
WHERE เงื่อนไข;UPDATE products
SET price=24900
WHERE product_id=21;ผลลัพธ์
| ก่อนแก้ไข | หลังแก้ไข |
|---|---|
| 25900.00 | 24900.00 |
UPDATE products
SET
price=23900,
stock=20,
brand='Dell Thailand'
WHERE product_id=21;เพิ่มจำนวนสินค้าในหมวด Accessory ขึ้นอีกชิ้นละ 10 รายการ
UPDATE products
SET stock=stock+10
WHERE category='Accessory';ผลลัพธ์: สินค้าทุกชิ้นในหมวด Accessory จะมีจำนวนเพิ่มขึ้น 10 ชิ้นทันที
⚠️ ข้อควรระวังที่สุด!
หากคุณลืมระบุเงื่อนไข WHERE เช่น:
UPDATE products
SET price=0;ผลลัพธ์คือ ข้อมูลราคาสินค้าทุกแถวในตารางจะกลายเป็น 0 ทันที! ดังนั้นควรตรวจสอบเงื่อนไขให้ดีก่อนกด Execute เสมอ
คำสั่ง DELETE ใช้สำหรับลบข้อมูลออกจากตาราง
โครงสร้าง
DELETE FROM table_name
WHERE เงื่อนไข;DELETE FROM products
WHERE product_id=21;ข้อมูลสินค้าที่มีรหัส 21 จะถูกลบออกจากตาราง
ลบสินค้าที่มีราคาต่ำกว่า 300 บาท
DELETE FROM products
WHERE price < 300;ผลลัพธ์: สินค้าประเภทสายเชื่อมต่อหรืออุปกรณ์ที่ราคาต่ำกว่า 300 บาททั้งหมดจะถูกลบไป
⚠️ ข้อควรระวังสูงสุด!
DELETE FROM products;คำสั่งนี้จะลบข้อมูลทั้งหมดที่อยู่ในตาราง แต่โครงสร้างตาราง (Columns และ Data Types) ยังคงอยู่เหมือนเดิม
| คำสั่ง | หน้าที่การทำงาน |
|---|---|
| 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';SELECT เพื่อตรวจสอบข้อมูลก่อนทำการ UPDATE หรือ DELETE ทุกครั้ง เพื่อความมั่นใจWHERE เด็ดขาดในคำสั่งเขียนแก้ไขและลบ เว้นแต่จะตั้งใจทำกับข้อมูลทั้งตารางจริงๆคำสั่ง DML ทั้งสามตัวนี้ถือเป็นหัวใจของการพัฒนาโปรแกรมเชื่อมโยงระบบฐานข้อมูล:
ขอให้นักเรียนทุกคนให้ความระมัดระวังเป็นพิเศษเมื่อต้องใช้ UPDATE และ DELETE ครับ
SELECT เพื่อแสดงผลเปรียบเทียบข้อมูลก่อนและหลังปรับปรุง (Update)DELETE แบบระบุ WHERE และไม่ระบุ WHEREINSERT, UPDATE และ DELETE พร้อมยกตัวอย่างกรณีศึกษาในชีวิตประจำวัน