การอัปเดตคอลัมน์เดียว
คำสั่ง UPDATE ร่วมกับ SET column = new_value และ WHERE สำหรับระบุแถวที่ต้องการแก้ไข
ตัวอย่าง: เพิ่มค่า 150 ให้แถวที่ Id = 4
mysql> create table DemoTable770 (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Value int );
Query OK, 0 rows affected (0.65 sec)
mysql> insert into DemoTable770(Value) values(10);
mysql> insert into DemoTable770(Value) values(90);
mysql> insert into DemoTable770(Value) values(160);
mysql> insert into DemoTable770(Value) values(450);
mysql> insert into DemoTable770(Value) values(560);
คำสั่ง UPDATE
mysql> update DemoTable770 set Value = Value + 150 where Id = 4;
Query OK, 1 row affected (0.52 sec)
ผลลัพธ์หลังอัปเดต:
+----+-------+
| Id | Value |
+----+-------+
| 1 | 10 |
| 2 | 90 |
| 3 | 160 |
| 4 | 600 | <-- เปลี่ยนจาก 450 เป็น 600
| 5 | 560 |
+----+-------+
จุดสำคัญ
Value = Value + 150ใช้ค่าเดิมมาคำนวณค่าใหม่WHERE Id = 4จำกัดให้อัปเดตแค่แถวที่ 4 เท่านั้น- หาไม่มี WHERE จะอัปเดตทุกแถวในตาราง
รูปแบบอื่นๆ
-- ตั้งค่าเป็นค่าคงที่
update DemoTable770 set Value = 999 where Id = 4;
-- อัปเดตหลายคอลัมน์พร้อมกัน
update DemoTable770 set Value = Value + 100, Status = 'Updated' where Id = 4;
สรุป
ใช้ UPDATE table SET column = expression WHERE condition เพื่อแก้ไขคอลัมน์เดียวหรือหลายคอลัมน์ในแถวที่ระบุ