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

ลบหนึ่งแถวและเรียงลำดับแถวอื่นด้วย ID ที่ถูกต้องใน MySQL หรือไม่


เพื่อให้เข้าใจแนวคิด ให้เราสร้างตารางก่อน แบบสอบถามในการสร้างตารางมีดังนี้

mysql> สร้างตาราง ReorderSortDemo -> ( -> UserId int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.57 วินาที)

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

mysql> แทรกลงในค่า ReorderSortDemo (14); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า ReorderSortDemo (4) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า ReorderSortDemo ( 6); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า ReorderSortDemo (3) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า ReorderSortDemo (8); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.11 วินาที) mysql> แทรกลงในค่า ReorderSortDemo (18); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า ReorderSortDemo (1); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า ReorderSortDemo ( 11); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า ReorderSortDemo (16); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+---------+| รหัสผู้ใช้ |+---------+| 14 || 4 || 6 || 3 || 8 || 18 || 1 || 11 || 16 |+-------+9 แถวในชุด (0.00 วินาที)

ขั้นแรกให้ลบหนึ่งแถวออกจากตาราง จากนั้นใช้คำสั่ง update เพื่อเรียงลำดับแถวอื่นๆ แบบสอบถามมีดังต่อไปนี้ −

mysql> ลบจาก ReorderSortDemo โดยที่ UserId=8;Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)

หลังจากลบแล้ว ให้เราตรวจสอบระเบียนของตารางอีกครั้ง แบบสอบถามมีดังต่อไปนี้ −

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

ผลลัพธ์จะเป็นดังนี้

<ก่อนหน้า>+---------+| รหัสผู้ใช้ |+---------+| 14 || 4 || 6 || 3 || 18 || 1 || 11 || 16 |+-------+8 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อจัดลำดับคอลัมน์อื่นๆ

mysql> อัปเดต ReorderSortDemo -> ตั้งค่า UserId=UserId-1 -> โดยที่ UserId> 8; ตกลง ตกลง 4 แถวได้รับผลกระทบ (0.22 วินาที) แถวที่ตรงกัน:4 เปลี่ยนแล้ว:4 คำเตือน:0

ให้เราตรวจสอบบันทึกตารางอีกครั้ง แบบสอบถามมีดังต่อไปนี้ −

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

ผลลัพธ์จะเป็นดังนี้

<ก่อนหน้า>+---------+| รหัสผู้ใช้ |+---------+| 13 || 4 || 6 || 3 || 17 || 1 || 10 || 15 |+-------+8 แถวในชุด (0.00 วินาที)