SQL - แบบสอบถามการอัปเดต
SQL UPDATEแบบสอบถามใช้เพื่อแก้ไขระเบียนที่มีอยู่ในตาราง คุณสามารถใช้คำสั่ง WHERE กับคิวรี UPDATE เพื่ออัปเดตแถวที่เลือกมิฉะนั้นแถวทั้งหมดจะได้รับผลกระทบ
ไวยากรณ์
ไวยากรณ์พื้นฐานของแบบสอบถาม UPDATE ที่มีส่วนคำสั่ง WHERE มีดังนี้ -
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
คุณสามารถรวม N จำนวนเงื่อนไขโดยใช้ตัวดำเนินการ AND หรือ OR
ตัวอย่าง
พิจารณาตารางลูกค้าที่มีบันทึกต่อไปนี้ -
+----+----------+-----+-----------+----------+
| 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 |
+----+----------+-----+-----------+----------+
ข้อความค้นหาต่อไปนี้จะอัปเดต ADDRESS สำหรับลูกค้าที่มีหมายเลขประจำตัวคือ 6 ในตาราง
SQL> UPDATE CUSTOMERS
SET ADDRESS = 'Pune'
WHERE ID = 6;
ตอนนี้ตาราง 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 | Pune | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
หากคุณต้องการแก้ไขค่าคอลัมน์ ADDRESS และ SALARY ทั้งหมดในตาราง CUSTOMERS คุณไม่จำเป็นต้องใช้คำสั่ง WHERE เนื่องจากแบบสอบถาม UPDATE จะเพียงพอดังที่แสดงในบล็อกโค้ดต่อไปนี้
SQL> UPDATE CUSTOMERS
SET ADDRESS = 'Pune', SALARY = 1000.00;
ตอนนี้ตาราง CUSTOMERS จะมีบันทึกต่อไปนี้ -
+----+----------+-----+---------+---------+
| 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 |
+----+----------+-----+---------+---------+