คำสั่ง 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;
-- ผลลัพธ์: ลบนักแสดงทุกคนออกจากระบบ