ใช้ DELETE FROM table WHERE condition ลบแถวที่ตรงเงื่อนไข
สร้างตารางตัวอย่าง
mysql> CREATE TABLE DemoTable (
-> CustomerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> CustomerName VARCHAR(100),
-> CustomerAge INT
-> );
เพิ่มข้อมูลตัวอย่าง
mysql> INSERT INTO DemoTable(CustomerName, CustomerAge) VALUES('John', 33);
mysql> INSERT INTO DemoTable(CustomerName, CustomerAge) VALUES('Bob', 25);
mysql> INSERT INTO DemoTable(CustomerName, CustomerAge) VALUES('David', 28);
mysql> INSERT INTO DemoTable(CustomerName, CustomerAge) VALUES('Carol', 29);
แสดงข้อมูล
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+------------+--------------+-------------+ | CustomerId | CustomerName | CustomerAge | +------------+--------------+-------------+ | 1 | John | 33 | | 2 | Bob | 25 | | 3 | David | 28 | | 4 | Carol | 29 | +------------+--------------+-------------+
คำสั่งลบ David อายุ 28
mysql> DELETE FROM DemoTable WHERE CustomerName = 'David' AND CustomerAge = 28;
ตรวจสอบข้อมูลที่เหลือ
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+------------+--------------+-------------+ | CustomerId | CustomerName | CustomerAge | +------------+--------------+-------------+ | 1 | John | 33 | | 2 | Bob | 25 | | 4 | Carol | 29 | +------------+--------------+-------------+
คำเตือน: ทดสอบด้วย SELECT WHERE ... ก่อน DELETE จริง | ใช้ PRIMARY KEY ใน WHERE ได้ผลแม่นยำและเร็วกว่า | ไม่มี WHERE จะลบทุกแถว