UPDATE เป็นคำสั่ง SQL ที่ใช้สำหรับ แก้ไขข้อมูลในแถว (record) ของตารางที่มีอยู่แล้วในฐานข้อมูล โดยสามารถอัปเดตได้หนึ่งแถวหรือหลายแถวตามเงื่อนไขที่ระบุ
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
table_name= ชื่อตารางที่ต้องการแก้ไขข้อมูลSET= ระบุชื่อคอลัมน์ที่ต้องการเปลี่ยน และค่าที่ต้องการกำหนดใหม่WHERE= เงื่อนไขที่ระบุว่า จะแก้ไขแถวไหน (ถ้าไม่ใส่WHEREระบบจะแก้ไขทุกแถว)
ตัวอย่าง
เปลี่ยนนามสกุลของนักแสดงที่ชื่อ ‘JENNIFER’ เป็น ‘CHAN’
SQL
UPDATE actor
SET last_name = 'CHAN'
WHERE first_name = 'JENNIFER';UPDATE actorระบุว่าต้องการอัปเดตข้อมูลในตารางactorSET last_name = 'CHAN'เปลี่ยนค่านามสกุล (last_name) ให้เป็น'CHAN'WHERE first_name = 'JENNIFER'แก้ไขเฉพาะแถวที่first_nameเป็น'JENNIFER'เท่านั้น
ข้อควรระวัง: อย่าลืมใส่ WHERE เพราะถ้าลืมจะอัปเดตทุกแถวในตาราง
เปลี่ยนนามสกุล (last_name) เป็น ‘LEE’ สำหรับนักแสดงที่ชื่อ BOB และมี actor_id มากกว่า 100
SQL
UPDATE actor
SET last_name = 'LEE'
WHERE first_name = 'BOB'
AND actor_id > 100;- แก้ไขเฉพาะแถวนักแสดงที่ชื่อ
BOBและactor_idมากกว่า 100 เท่านั้น - ใช้
ANDเพื่อระบุเงื่อนไขหลายอย่างร่วมกัน
อัปเดต postal_code ในตาราง address เป็น ‘10110’ สำหรับที่อยู่ที่อยู่ในเมือง Athenai
SQL
UPDATE address a
JOIN city c ON a.city_id = c.city_id
SET a.postal_code = '10110'
WHERE c.city = 'Athenai';- ใช้
JOINเชื่อมตารางaddressและcityด้วยcity_id - อัปเดตคอลัมน์
postal_codeในaddressสำหรับแถวที่เมือง (city) ชื่อว่า'Athenai'
ข้อควรระวัง
- เมื่อใช้
UPDATE ... JOINให้ระบุ alias (a,c) ให้ชัดเจน - อย่าลืม
WHEREเพื่อจำกัดแถวที่จะแก้ไข ไม่เช่นนั้นจะกระทบทั้งตาราง
