MySQL การลบข้อมูลด้วยคำสั่ง DELETE

คำสั่ง DELETE ใช้สำหรับ ลบข้อมูล (records) ออกจากตารางในฐานข้อมูล โดยสามารถลบได้ หนึ่งแถว หรือหลายแถว ขึ้นอยู่กับเงื่อนไขที่ระบุ

รูปแบบการใช้งานคำสั่ง DELETE

รูปแบบการใช้งานคำสั่ง DELETE สำหรับลบข้อมูลจะเป็นดังนี้

DELETE FROM table_name 
WHERE condition;
  • table_name = ชื่อตารางที่ต้องการลบข้อมูล
  • condition = เงื่อนไขในการลบ (ถ้าไม่ใส่ WHERE จะลบทุกแถวในตาราง)

ตัวอย่าง

ลบนักแสดงที่มีชื่อว่า ‘TONY’

SQL
DELETE FROM actor
WHERE first_name = 'TONY';
  • ลบเฉพาะนักแสดงที่ชื่อ TONY

ลบข้อมูลลูกค้าที่ไม่มีอีเมล

SQL
DELETE FROM customer
WHERE email IS NULL;
  • ลบลูกค้าที่ไม่มีอีเมลในระบบ (email เป็นค่า NULL)

ลบด้วยการใช้ JOIN

ใน MySQL 8.0+ สามารถใช้ JOIN กับ DELETE ได้ เช่น

SQL
DELETE a
FROM address a
JOIN city c ON a.city_id = c.city_id
WHERE c.city = 'Bangkok';
  • ลบข้อมูลที่อยู่ (address) ที่เมือง city มีค่าเป็น Bangkok

ข้อควรระวัง: หากไม่ระบุเงื่อนไข WHERE ระบบจะลบทุกแถวในตาราง เช่น

SQL
DELETE FROM actor;
-- ผลลัพธ์: ลบนักแสดงทุกคนออกจากระบบ
แชร์เรื่องนี้