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

จะอัปเดตค่าคอลัมน์เฉพาะที่ดึงด้วยคำสั่ง CASE ได้อย่างไร


สำหรับสิ่งนี้ ให้ใช้คำสั่ง UPDATE พร้อมกับคำสั่ง CASE ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1925 ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20), StudentMarks int );Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)

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

mysql> แทรกลงในค่า DemoTable1925(StudentName,StudentMarks) ('Chris',98) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1925 (StudentName,StudentMarks) ('David', 45);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

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

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

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

<ก่อนหน้า>+-----------+-------------+--------------+| รหัสนักศึกษา | ชื่อนักเรียน | StudentMarks |+-----------+-------------+------------+| 1 | คริส | 98 || 2 | เดวิด | 45 |+-----------+-------------+--------------+2 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่ออัปเดตค่าคอลัมน์เฉพาะที่ดึงมาด้วยคำสั่ง CASE -

mysql> อัปเดต DemoTable1925 ตั้งค่า StudentMarks=case StudentMarks เมื่อ 45 จากนั้น 98 เมื่อ 98 จากนั้น 0 สิ้นสุดโดยที่ StudentMarks IN(45,98); ตกลง ตกลง 2 แถวได้รับผลกระทบ (0.00 วินาที) แถวที่ตรงกัน:2 เปลี่ยนแล้ว:2 คำเตือน:0 

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

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

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

<ก่อนหน้า>+-----------+-------------+--------------+| รหัสนักศึกษา | ชื่อนักเรียน | StudentMarks |+-----------+-------------+------------+| 1 | คริส | 0 || 2 | เดวิด | 98 |+-----------+--------------------+--------------+2 แถวในชุด (0.00 วินาที)