sql command

Database SQL – Update Query

การใช้งาน table ในฐานข้อมูล หลังจากที่ได้ทำการใส่ค่า หรือ การทำ SQL Insert into เรียบร้อยแล้ว หมายความว่าตอนนี้เรามีข้อมูลอยู่ในตาราง หรือ table เราแล้ว ทีนี้ถ้าเราต้องการปรับเปลี่ยนค่าบางอย่าง หรือ บาง column ที่มีอยู่ปัจจุบัน เราจะใช้คำสั่ง SQL Update query statement ในการแก้ไขข้อมูลที่ต้องการ โดยที่เราสามารถนำเอา Where Clause statement  และ AND OR Clause มากำหนดกลุ่มของข้อมูลที่เราต้องการได้ด้วย มิเช่นนั้นการแก้ไขข้อมูล หรือ Update จะมีผลต่อข้อมูลทุกบรรทัดทั้งหมดใน table

 

รูปแบบ (Syntax)

การทำ SQL Update มีลักษณะคล้ายกับ SQL Select statement โดยเราต้องกำหนด table ที่ต้องการเปลี่ยนแปลงก่อน ตามด้วยค่าของข้อมูลใหม่แต่ละ column ซึ่งถ้ามีหลาย column เราสามารถใช้ comma (,) เป็นตัวขั้นแต่ละ column statement  รวมถึงสามารถนำเอา Where condition เพิ่มต่อเข้าไปได้เลย เพื่อให้ข้อมูลที่แสดงถูกกรองให้เหลือเฉพาะข้อมูลที่อยู่ในเงือนไขที่ต้องการ

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

 

ตัวอย่างการแสดงข้อมูลใน table

ตัวอย่างข้อมูลใน table CUSTOMERS

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

 

คำสั่งเปลี่ยนแปลงข้อมูลบน table CUSTOMER โดยแก้ไขข้อมูล field หรือ column ADRESS ให้มีค่าเป็น Pune แทนค่าเดิม สำหรับข้อมูลที่มี ID เท่ากับ 6

SQL> UPDATE CUSTOMERS
SET ADDRESS = 'Pune'
WHERE ID = 6;

 

ผลลัพธ์ที่ได้ จะเห็นว่าบรรทัดที่ 6 หรือ ID = 6 ค่า ADDRESS ถูกเปลี่ยนเป็น Pune โดยไม่สนว่าค่าเดิมคืออะไร

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | Pune      |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

 

ในกรณีที่เราต้องการเปลี่ยนค่า ADDRESS ให้เป็น Pune รวมถึง SALARY ให้มีค่าเป็น 1000.00 สำหรับข้อมูลทั้งหมดทุกบรรทัด สามารถทำได้ด้วยคำสั่ง SQL Update query statement ดังนี้

SQL> UPDATE CUSTOMERS
SET ADDRESS = 'Pune', SALARY = 1000.00;

 

ผลลัพธ์ที่ได้

+----+----------+-----+---------+---------+
| ID | NAME     | AGE | ADDRESS | SALARY  |
+----+----------+-----+---------+---------+
|  1 | Ramesh   |  32 | Pune    | 1000.00 |
|  2 | Khilan   |  25 | Pune    | 1000.00 |
|  3 | kaushik  |  23 | Pune    | 1000.00 |
|  4 | Chaitali |  25 | Pune    | 1000.00 |
|  5 | Hardik   |  27 | Pune    | 1000.00 |
|  6 | Komal    |  22 | Pune    | 1000.00 |
|  7 | Muffy    |  24 | Pune    | 1000.00 |
+----+----------+-----+---------+---------+

 

 

Reference:

รวมคำสั่ง SQL Command พื้นฐานเบื้องต้น

Database, Oracle, MySQL

 

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com, https://www.tutorialspoint.com

Leave a Reply