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

อัปเดตทั้งแถวใน MySQL หรือไม่


หากต้องการอัปเดตทั้งแถวใน 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 วินาที)