คุณสามารถใช้คำสั่ง IN เพื่อลบมากกว่าหนึ่งแถวออกจากตารางโดยใช้ id ใน MySQL ไวยากรณ์มีดังนี้ −
ลบออกจาก yourTableName โดยที่ yourColumnName in(value1,value2,.....valueN);
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตาราง
mysql> สร้างตาราง DeleteManyRows −> ( −> Id int, −> Name varchar(200), −> Age int −> );Query OK, 0 แถวได้รับผลกระทบ (3.35 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า DeleteManyRows (1,'John', 23); ตกลง สืบค้น 1 แถวได้รับผลกระทบ (0.66 วินาที)mysql> แทรกลงในค่า DeleteManyRows (2,'Johnson', 22); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.48 วินาที)mysql> แทรกลงในค่า DeleteManyRows (3,'Sam',20); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.39 วินาที) mysql> แทรกลงในค่า DeleteManyRows (4,'David',26); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.35 วินาที) mysql> แทรกลงในค่า DeleteManyRows (5,'Carol',21); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DeleteManyRows (6, 'Smith', 29); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก DeleteManyRows;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+------+---------+------+| รหัส | ชื่อ | อายุ |+------+---------+------+| 1 | จอห์น | 23 || 2 | จอห์นสัน | 22 || 3 | แซม | 20 || 4 | เดวิด | 26 || 5 | แครอล | 21 || 6 | สมิ ธ | 29 |+------+---------+------+6 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อลบแถวออกจากตารางโดยใช้คำสั่ง IN แบบสอบถามมีดังนี้ −
mysql> ลบจาก DeleteManyRows โดยที่ Id in (1,2,3,4); ตกลง ตกลง 4 แถวได้รับผลกระทบ (0.25 วินาที)
ให้เราตรวจสอบจำนวนแถวที่มีอยู่หลังจากลบหลายแถวเช่น 1,2,3,4 แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก DeleteManyRows;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+------+-------+------+| รหัส | ชื่อ | อายุ |+------+-------+------+| 5 | แครอล | 21 || 6 | สมิ ธ | 29 |+------+-------+------+2 แถวในชุด (0.00 วินาที)