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

การลบแถวที่ n ใน MySQL?


หากต้องการลบแถวที่ n ใน MySQL ให้ใช้คำสั่ง DELETE และทำงานกับแบบสอบถามย่อย ให้เราสร้างตารางก่อน:

mysql> สร้างตาราง DemoTable1 -> ( -> StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(100) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.99 วินาที)

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

mysql> แทรกลงในค่า DemoTable1(StudentName) ('Larry');Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DemoTable1 (StudentName) ('Sam'); Query OK, 1 แถวได้รับผลกระทบ ( 0.13 วินาที) mysql> แทรกลงในค่า DemoTable1 (StudentName) ('Mike'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable1 (StudentName) ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.12 วินาที) mysql> แทรกลงในค่า DemoTable1 (StudentName) ('David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable1 (StudentName) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที)

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

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

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

<ก่อนหน้า>+-----------+-------------+| รหัสนักศึกษา | ชื่อนักเรียน |+-----------+-------------+| 1 | แลร์รี่ || 2 | แซม || 3 | ไมค์ || 4 | แครอล || 5 | เดวิด || 6 | Bob |+-----------+-------------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อลบแถวที่ n:

mysql> ลบออกจาก DemoTable1 โดยที่ StudentId =(เลือก StudentId จาก (เลือก StudentId จากลำดับ DemoTable1 โดย StudentId จำกัด 1,1) เป็น tbl); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที)

แสดงบันทึกทั้งหมดจากตารางเพื่อตรวจสอบว่าบันทึกถูกลบหรือไม่:

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ บันทึกที่ 2 nd ถูกลบไปแล้ว:

<ก่อนหน้า>+-----------+-------------+| รหัสนักศึกษา | ชื่อนักเรียน |+-----------+-------------+| 1 | แลร์รี่ || 3 | ไมค์ || 4 | แครอล || 5 | เดวิด || 6 | Bob |+-----------+-------------+5 แถวในชุด (0.00 วินาที)