หากต้องการอัปเดตทั้งแถวใน MySQL ให้ใช้คำสั่ง UPDATE คุณจำเป็นต้องรู้คอลัมน์คีย์หลัก ไวยากรณ์มีดังต่อไปนี้เพื่ออัปเดตทั้งแถว
อัปเดต yourTableName SET yourColumnName1 ='yourValue1' ,yourColumnName2 ='yourValue2' , yourColumnName3 ='yourValue3' ,.......................N โดยที่ yourPrimaryKeyColumnName =ค่าของคุณ
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง UpdateEntireRowDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> Marks int, -> PRIMARY KEY(Id) -> );Query OK , ได้รับผลกระทบ 0 แถว (0.74 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงใน UpdateEntireRowDemo(Name,Age,Marks) values('Sam',23,78);Query OK, 1 แถวได้รับผลกระทบ (0.32 วินาที)mysql> แทรกลงใน UpdateEntireRowDemo(Name,Age,Marks) ค่า ( 'Mike',21,99);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงใน UpdateEntireRowDemo (ชื่อ, อายุ, เครื่องหมาย) ค่า ('Carol',26,80); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11) sec)mysql> แทรกลงใน UpdateEntireRowDemo (ชื่อ, อายุ, เครื่องหมาย) ค่า ('John', 22,71); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงใน UpdateEntireRowDemo (ชื่อ, อายุ, เครื่องหมาย) ค่า (' Bob',29,89);Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงใน UpdateEntireRowDemo(Name,Age,Marks) values('David',25,68);Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที) )mysql> แทรกลงใน UpdateEntireRowDemo(Name,Age,Marks) values('Larry',31,91);Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก UpdateEntireRowDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----+-------+------+-------+| รหัส | ชื่อ | อายุ | เครื่องหมาย |+----+-------+------+-------+| 1 | แซม | 23 | 78 || 2 | ไมค์ | 21 | 99 || 3 | แครอล | 26 | 80 || 4 | จอห์น | 22 | 71 || 5 | บ๊อบ | 29 | 89 || 6 | เดวิด | 25 | 68 || 7 | แลร์รี่ | 31 | 91 |+----+-------+------+-------+7 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามเพื่ออัปเดตทั้งแถวใน MySQL ที่นี่ฉันจะอัปเดตแถวด้วยรหัส 5
แบบสอบถามมีดังนี้ −
mysql> อัปเดต UpdateEntireRowDemo -> ตั้งชื่อ ='James', อายุ =19, เครื่องหมาย =78 -> โดยที่ Id =5; ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) แถวที่ตรงกัน:1 เปลี่ยนแล้ว:1 คำเตือน:0
ตอนนี้คุณสามารถตรวจสอบว่ามีการอัปเดตแถวทั้งหมดแล้ว แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก UpdateEntireRowDemo โดยที่ Id =5;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----+-------+------+-------+| รหัส | ชื่อ | อายุ | เครื่องหมาย |+----+-------+------+-------+| 5 | เจมส์ | 19 | 78 |+----+-------+------+------- +1 แถวในชุด (0.00 วินาที)ให้เราดูบันทึกทั้งหมดจากตาราง
mysql> เลือก *จาก UpdateEntireRowDemo;
ผลลัพธ์แสดงว่าอัปเดตทั้งแถวสำเร็จแล้ว:
<ก่อนหน้า>+----+-------+------+-------+| รหัส | ชื่อ | อายุ | เครื่องหมาย |+----+-------+------+-------+| 1 | แซม | 23 | 78 || 2 | ไมค์ | 21 | 99 || 3 | แครอล | 26 | 80 || 4 | จอห์น | 22 | 71 || 5 | เจมส์ | 19 | 78 || 6 | เดวิด | 25 | 68 || 7 | แลร์รี่ | 31 | 91 |+----+-------+------+-------+7 แถวในชุด (0.00 วินาที)