ลบข้อมูล

เสร็จสมบูรณ์เมื่อ

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

ใช้ DELETE เพื่อนําแถวที่ระบุออก

DELETE ทํางานกับชุดของแถว ไม่ว่าจะกําหนดโดยเงื่อนไขในคําสั่ง WHERE หรือกําหนดไว้ในการรวม คําสั่งย่อย WHERE ในคําสั่ง DELETE มีโครงสร้างเดียวกับส่วนคําสั่ง WHERE ในคําสั่ง SELECT

หมายเหตุ

สิ่งสําคัญคือต้องจําไว้ว่า DELETE โดยไม่มีส่วนคําสั่ง WHERE ที่สอดคล้องกันจะลบแถวทั้งหมดออกจากตาราง ใช้คําสั่ง DELETE ด้วยความระมัดระวัง

รหัสต่อไปนี้แสดงไวยากรณ์พื้นฐานของคําสั่ง DELETE:

DELETE [FROM] <TableName>
WHERE <search_conditions>;

ตัวอย่างต่อไปนี้ใช้คําสั่ง DELETE เพื่อลบผลิตภัณฑ์ทั้งหมดออกจากตารางที่ระบุที่ถูกยกเลิก มีคอลัมน์ในตารางที่เรียกว่า ไม่ต่อเนื่อง และสําหรับผลิตภัณฑ์ที่ไม่มีให้ใช้งานอีกต่อไป คอลัมน์มีค่าเป็น 1

DELETE FROM Production.Product
WHERE discontinued = 1;

ใช้ TRUNCATE TABLE เพื่อลบแถวทั้งหมด

DELETE โดยไม่มีส่วนคําสั่ง WHERE จะลบแถวทั้งหมดออกจากตาราง ด้วยเหตุนี้ DELETE จึงมักใช้ตามเงื่อนไขด้วยตัวกรองในส่วนคําสั่ง WHERE ถ้าคุณต้องการลบแถวทั้งหมดและออกจากตารางที่ว่างเปล่าจริง ๆ คุณสามารถใช้คําสั่ง TRUNCATE TABLE ได้ คําสั่งนี้ไม่อนุญาตให้มีส่วนคําสั่ง WHERE และเอาแถวทั้งหมดในการดําเนินการเดียวออกเสมอ ตัวอย่างมีดังนี้:

TRUNCATE TABLE Sales.Sample;

TRUNCATE TABLE มีประสิทธิภาพมากกว่า DELETE เมื่อคุณต้องการลบแถวทั้งหมด