การเตรียมข้อมูล
สร้างตารางพร้อม AUTO_INCREMENT เริ่มต้นที่ 101:
mysql> CREATE TABLE DemoTable1830 (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(20)
) AUTO_INCREMENT=101;
เพิ่มข้อมูล 5 รายการ:
mysql> INSERT INTO DemoTable1830(StudentName) VALUES('Chris');
mysql> INSERT INTO DemoTable1830(StudentName) VALUES('David');
mysql> INSERT INTO DemoTable1830(StudentName) VALUES('Mike');
mysql> INSERT INTO DemoTable1830(StudentName) VALUES('Sam');
mysql> INSERT INTO DemoTable1830(StudentName) VALUES('Bob');
ลบแถวเฉพาะด้วย NOT IN
เก็บเฉพาะ ID 101, 103, 105 (ลบ ID 102, 104):
mysql> DELETE FROM DemoTable1830
WHERE StudentId NOT IN('101','103','105');
Query OK, 2 rows affected (0.00 sec)
ตรวจสอบผลลัพธ์
mysql> SELECT * FROM DemoTable1830;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 101 | Chris |
| 103 | Mike |
| 105 | Bob |
+-----------+-------------+
เทคนิคเพิ่มเติม
- ใช้
INเพื่อลบเฉพาะ ID ที่ระบุ:WHERE StudentId IN(102,104) - ใช้
BETWEENสำหรับช่วง:WHERE StudentId BETWEEN 102 AND 104 - รวมเงื่อนไขหลายอย่าง:
WHERE StudentId NOT IN(101,103) AND StudentName != 'Bob' - ทำการ Backup ก่อนลบข้อมูลจริงเสมอ