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

จะลบแถวทั้งหมดยกเว้นบางแถวใน MySQL ได้อย่างไร


คุณสามารถใช้ตัวดำเนินการ NOT IN สำหรับแถวที่คุณไม่ต้องการลบ ต่อไปนี้เป็นไวยากรณ์ -

ลบออกจาก yourTableName โดยที่ yourColumnName NOTIN('yourValue1','yourValue2','yourValue3',.........N);

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง deleteAllRowsWithCondition -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก -> ชื่อ varchar(20) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.84 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก -

mysql> แทรกลงในค่า deleteAllRowsWithCondition(Name) ('Larry'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า deleteAllRowsWithCondition(Name) ('John'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.21 วินาที) mysql> แทรกลงในค่า deleteAllRowsWithCondition (ชื่อ) ('Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า deleteAllRowsWithCondition (ชื่อ) ('Mike'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.16 วินาที) mysql> แทรกลงในค่า deleteAllRowsWithCondition (ชื่อ) ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า deleteAllRowsWithCondition (ชื่อ) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.06 วินาที) mysql> แทรกลงในค่า deleteAllRowsWithCondition (ชื่อ) ('David'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก * จาก deleteAllRowsWithCondition;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 1 | แลร์รี่ || 2 | จอห์น || 3 | แซม || 4 | ไมค์ || 5 | แครอล || 6 | บ๊อบ || 7 | David |+----+-------+7 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อลบแถวทั้งหมดที่มีเงื่อนไขบางอย่าง เราไม่ได้ลบ 'John', 'Mike' และ 'Carol' ที่นี่ -

mysql> ลบจาก deleteAllRowsWithCondition โดยที่ Name NOT IN('John','Mike','Carol');Query OK, 4 แถวได้รับผลกระทบ (0.15 วินาที)

ให้เราตรวจสอบว่ามีการลบแถวบางแถวออกจากตารางหรือไม่ ต่อไปนี้เป็นแบบสอบถาม -

mysql> เลือก * จาก deleteAllRowsWithCondition;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 2 | จอห์น || 4 | ไมค์ || 5 | Carol |+----+-------+3 แถวในชุด (0.00 วินาที)