Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ลบมากกว่าหนึ่งแถวจากตารางโดยใช้ id ใน MySQL หรือไม่


คุณสามารถใช้คำสั่ง 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 วินาที)