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

เราสามารถอัปเดต MySQL ด้วยเงื่อนไขได้หรือไม่?


คุณสามารถอัปเดต MySQL ด้วยเงื่อนไข IF เช่นเดียวกับคำสั่ง CASE เพื่อจุดประสงค์นี้ ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตาราง −

mysql> สร้างตาราง UpdateWithIfCondition −> ( −> BookId int, −> BookName varchar(200) −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)

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

mysql> แทรกลงในค่า UpdateWithIfCondition (1000,'C in Depth'); Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า UpdateWithIfCondition (1001,'Introduction to Java'); Query OK, 1 แถว ได้รับผลกระทบ (0.14 วินาที)

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

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

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

<ก่อนหน้า>+---------+----------------------+| รหัสหนังสือ | ชื่อหนังสือ |+---------+----------------------+| 1000 | C ในความลึก || 1001 | บทนำสู่ Java |+-------+----------------------+2 แถวในชุด (0.00 วินาที)

ให้เราอัปเดตค่า 'C in Depth' ด้วยค่า 'Introduction to C' และ 1001 ด้วยค่า 2000 โดยใช้เงื่อนไข if แบบสอบถามมีดังนี้ −

mysql> อัปเดต UpdateWithIfCondition −> set BookName =if(BookName ='C in Depth','Introduction to C',BookName), −> BookId =if(BookId =1001,2000,BookId);Query OK, 2 แถวที่ได้รับผลกระทบ (0.43 วินาที) แถวที่ตรงกัน:2 เปลี่ยนแล้ว:2 คำเตือน:0

ด้านบน เราได้อัปเดตทั้งสองค่าของคอลัมน์ ต่อไปนี้เป็นแบบสอบถามเพื่อตรวจสอบทั้งสองค่าที่ได้รับการปรับปรุงหรือไม่ -

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

ต่อไปนี้เป็นผลลัพธ์ที่แสดงว่าเราได้อัปเดตค่าเรียบร้อยแล้วโดยใช้ if −

<ก่อนหน้า>+---------+----------------------+| รหัสหนังสือ | ชื่อหนังสือ |+---------+----------------------+| 1000 | บทนำสู่ C || 2000 | บทนำสู่ Java |+-------+----------------------+2 แถวในชุด (0.00 วินาที)