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

แบบสอบถาม MySQL เดียวเพื่ออัปเดตเฉพาะระเบียนที่เจาะจงในช่วงโดยไม่ต้องอัปเดตทั้งคอลัมน์


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

mysql> สร้างตาราง DemoTable( Name varchar(40), Position int);Query OK, 0 แถวได้รับผลกระทบ (1.17 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable ('Chris',90);Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า DemoTable ('David',67); Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที )mysql> แทรกลงในค่า DemoTable ('Bob',55); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable ('Sam', 40); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) 

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

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

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

<ก่อนหน้า>+-------+----------+| ชื่อ | ตำแหน่ง |+-------+----------+| คริส | 90 || เดวิด | 67 || บ๊อบ | 55 || แซม | 40 |+-------+----------+4 แถวในชุด (0.00 วินาที)

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

mysql> อัปเดตชุด DemoTable Position=Position+10 โดยที่ Position> 50 และ Position <90; Query OK, 2 แถวได้รับผลกระทบ (0.11 วินาที) แถวที่ตรงกัน :2 เปลี่ยนแล้ว :2 คำเตือน :0

ให้เราตรวจสอบบันทึกตารางอีกครั้ง -

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

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

<ก่อนหน้า>+-------+----------+| ชื่อ | ตำแหน่ง |+-------+----------+| คริส | 90 || เดวิด | 77 || บ๊อบ | 65 || แซม | 40 |+-------+----------+4 แถวในชุด (0.00 วินาที)