วิธีใช้คำสั่ง SQL UPDATE
หนึ่งในคุณสมบัติหลักของฐานข้อมูลคือสามารถอัปเดตค่าที่เก็บไว้ได้ คุณสามารถเปลี่ยนค่าของระเบียนใดๆ ในฐานข้อมูลได้ตลอดเวลา ค่าภายในฐานข้อมูล SQL จะเปลี่ยนแปลงโดยใช้คำสั่ง SQL UPDATE
ในคู่มือนี้ เราจะพูดถึงว่าคำสั่ง SQL UPDATE คืออะไรและคุณจะใช้งานมันได้อย่างไร เราจะอธิบายตัวอย่างการใช้งานจริงเพื่อช่วยให้คุณเข้าใจวิธีการทำงาน
SQL UPDATE คืออะไร
คำสั่ง UPDATE จะอัพเดตข้อมูลที่มีอยู่ในตาราง SQL
สามารถใช้เพื่อแก้ไขระเบียนทั้งหมดในฐานข้อมูลหรือระเบียนที่ตรงตามเงื่อนไขหรือชุดเงื่อนไขบางอย่าง นี่คือโครงสร้างของแบบสอบถาม SQL UPDATE ทั่วไป:
UPDATE table SET column1 = value1, column2 = value2… WHERE condition(s);
“ตาราง” หมายถึงชื่อของตารางที่มีระเบียนที่คุณต้องการอัปเดต
คำสั่งหลังคีย์เวิร์ด SET คือชื่อของคอลัมน์ที่คุณต้องการอัปเดต ตามด้วยเครื่องหมายเท่ากับ แล้วตามด้วยค่าที่คุณต้องการกำหนดให้กับคอลัมน์นั้น หากต้องการอัปเดตหลายค่า คุณต้องคั่นแต่ละคำสั่งหลัง SET ด้วยเครื่องหมายจุลภาค
มาดูตัวอย่างของคำสั่ง SQL UPDATE เรามีตารางที่เรียกว่าพนักงานซึ่งมีค่าดังต่อไปนี้:
id | ชื่อ | หัวเรื่อง | hired_date | เงินเดือน |
1 | โทมัส คาร์ลตัน | พนักงานขาย | 09-08-2019 | 28000 |
2 | ลิซ่า อิงเกิลส์ | พนักงานขาย | 12-09-2019 | 28000 |
3 | วิคตอเรีย คาร์ไลล์ | ผู้อำนวยการฝ่ายขาย | 04-02-2017 | 36000 |
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
เราสร้างฐานข้อมูลนี้ในบทช่วยสอนเกี่ยวกับ SQL INSERT เราจะอัปเดตระเบียนบางส่วนในฐานข้อมูลนี้
SQL UPDATE ในการดำเนินการ
Lisa Ingles เพิ่งแต่งงาน นามสกุลของเธอเปลี่ยนเป็น Lisa Nelson เราสามารถใช้คำสั่ง UPDATE เพื่อเปลี่ยนชื่อของเธอในตารางพนักงาน:
UPDATE employees SET name = 'Lisa Nelson' WHERE id = 2;
คำสั่งนี้เปลี่ยนคอลัมน์เดียวโดยใช้คำสั่ง SET:ชื่อ มาเลือกบันทึกของเธอจากฐานข้อมูลเพื่อตรวจสอบว่าการเปลี่ยนแปลงได้ทำสำเร็จแล้ว:
id | ชื่อ | หัวเรื่อง | hired_date | เงินเดือน |
2 | ลิซ่า เนลสัน | พนักงานขาย | 12-09-2019 | 28000 |
นามสกุลของลิซ่าเปลี่ยนไปแล้ว
อัปเดตมากกว่าหนึ่งบันทึก
คุณสามารถอัปเดตเร็กคอร์ดที่มีอยู่หลายรายการในตารางได้โดยใช้คำสั่ง UPDATE คำสั่งเดียว โดยปกติ คำสั่ง WHERE จะใช้เมื่ออัปเดตหลายคอลัมน์เพื่อให้แน่ใจว่ามีการอัปเดตเฉพาะบางระเบียนเท่านั้น
ทีมผู้บริหารตัดสินใจว่าพนักงานขายทั้งหมดจะถูกเปลี่ยนชื่อเป็นผู้แทนฝ่ายขาย ในการเปลี่ยนแปลงนี้ เราจะต้องเขียนคำสั่ง UPDATE:
UPDATE employees SET title = 'Sales Representative' WHERE title = 'Sales Associate';
คำสั่งนี้เปลี่ยนค่าของ "ชื่อ" เป็น "ตัวแทนขาย" สำหรับพนักงานขายทั้งหมด มาตรวจดูว่ามีการเปลี่ยนแปลงของเราหรือไม่:
id | ชื่อ | หัวเรื่อง | hired_date | เงินเดือน |
1 | โทมัส คาร์ลตัน | ตัวแทนจำหน่าย | 09-08-2019 | 28000 |
2 | ลิซ่า เนลสัน | ตัวแทนจำหน่าย | 12-09-2019 | 28000 |
3 | วิคตอเรีย คาร์ไลล์ | ผู้อำนวยการฝ่ายขาย | 04-02-2017 | 36000 |
ชื่อของ Thomas Carlton และ Lisa Nelson มีการเปลี่ยนแปลง ตำแหน่งของวิคตอเรียยังคงเหมือนเดิมเพราะเธอเป็นผู้อำนวยการฝ่ายขาย
อัปเดตบันทึกทั้งหมด
โดยค่าเริ่มต้น คำสั่ง UPDATE จะแก้ไขระเบียนทั้งหมดในฐานข้อมูล คุณต้องระบุคำสั่ง WHERE เพื่อแทนที่การทำงานนี้
พนักงานทุกคนที่ธุรกิจของเราได้รับค่าจ้างเพิ่มขึ้น 5% เพื่อทำการเปลี่ยนแปลงนี้ เราจะใช้คำสั่ง UPDATE:
UPDATE employees SET salary = salary * 1.05;
คำสั่งนี้แก้ไขค่า "เงินเดือน" ในทุกระเบียนในฐานข้อมูล เราใช้ตัวดำเนินการการคูณ (*) เพื่อเพิ่มเงินเดือนของพนักงานทุกคนขึ้น 1.05 เท่ากับขึ้นเงินเดือน 5% มาตรวจสอบฐานข้อมูลของเรา:
id | ชื่อ | หัวเรื่อง | hired_date | เงินเดือน |
1 | โทมัส คาร์ลตัน | ตัวแทนจำหน่าย | 09-08-2019 | 29400 |
2 | ลิซ่า เนลสัน | ตัวแทนจำหน่าย | 12-09-2019 | 29400 |
3 | วิคตอเรีย คาร์ไลล์ | ผู้อำนวยการฝ่ายขาย | 04-02-2017 | 37800 |
เงินเดือนของพนักงานของเราได้รับการแก้ไขเรียบร้อยแล้ว
บทสรุป
คำสั่ง UPDATE แก้ไขอย่างน้อยหนึ่งเร็กคอร์ดในฐานข้อมูล โดยปกติจะใช้กับคำสั่ง WHERE เพื่อเลือกว่าระเบียนใดควรแก้ไข
หากคุณกำลังมองหาความท้าทาย เขียนคำสั่งที่:
- เพิ่มเงินเดือนของตัวแทนขายทั้งหมด 2%
- เปลี่ยนชื่อของลิซ่าเป็นตัวแทนจำหน่ายอาวุโส
- เปลี่ยนวันจ้างงานของ Victoria Carlisle เป็น 04-03-2017
ตอนนี้คุณก็พร้อมที่จะเริ่มใช้คำสั่ง UPDATE อย่างมืออาชีพแล้ว!