Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

คำสั่ง UPDATE ใน SQL Server

ใน SQL Server (Transact-SQL) คำสั่ง UPDATE ใช้เพื่ออัปเดตระเบียนที่มีอยู่บนตารางในฐานข้อมูล SQL Server มี 3 ไวยากรณ์สำหรับคำสั่ง UPDATE ขึ้นอยู่กับว่าคุณกำลังอัปเดตรูปแบบดั้งเดิมหรืออัปเดตตารางด้วยข้อมูลจากตารางอื่น

UPDATE ไวยากรณ์คำสั่ง

ไวยากรณ์การอัปเดตตารางใน SQL Server

  UPD ATE bang 
SET cot1 = bieuthuc1,
cot2 = bieuthuc2,

[WHERE die u_kien];

ไวยากรณ์คือการอัปเดตตารางด้วยข้อมูลจากตารางอื่นใน SQL Server ซึ่งรวมคำสั่ง SELECT ไว้ด้วยกัน

  UPDATE board g1 
SET cot1 = (SELECT bieuthuc1
FROM bang2
WHERE dieu_kien)
[WHERE dieu_k ien];

หรือไวยากรณ์อื่นเพื่ออัปเดตตารางด้วยข้อมูลจากตารางอื่น

  UPDATE three ng1 
SET bang1.cot = bang2.bieuthuc1
FROM bang1
INNER JOIN bang2
ON (bang1.cot1 = bang2.cot1)
[WHERE dieu_k ien];

ชื่อตัวแปรหรือค่าตัวแปร

cot1, cot2

คอลัมน์ที่จะอัปเดต

bieuthuc1, bieuthuc2

ควรระบุค่าใหม่สำหรับ cot1, cot2 Cot1 จะกำหนดค่าของ bieuthuc1, cot2 กำหนดค่าของ bieuthuc2 .

WHERE dieu_kien

ตัวเลือก ต้องเป็นไปตามเงื่อนไขเพื่อให้สามารถอัปเดตบันทึกได้

ตัวอย่างเช่น - อัปเดต 1 คอลัมน์

  UPDATE nhanvien 
SET ho = 'Johnson'
WHERE nhanv = 10;

คำสั่ง UPDATE นี้จะอัปเดตนามสกุลของพนักงานในตารางเป็น Johnson หากเป็น 10

ตัวอย่างเช่น - อัปเดตหลายคอลัมน์

นี่คือตัวอย่างของการอัปเดตมากกว่าหนึ่งคอลัมน์ด้วยคำสั่ง UPDATE เพียงคำสั่งเดียว

  UPDATE  nhanvien 
SET ten = 'Kyle',
nhanvien_id = 14
WHERE ho = 'Johnso n';

หากคุณต้องการอัปเดตหลายคอลัมน์ ให้แยกคอลัมน์/ค่าต่างๆ ด้วยเครื่องหมายจุลภาค

คำสั่ง UPDATE ด้านบนจะอัปเดตชื่อ Kyle และ nhanvien_id เป็น 14 หากนามสกุลของบุคคลคือ Johnson

ตัวอย่างเช่น - อัปเดตตารางด้วยข้อมูลจากตารางอื่น

นี่คือตัวอย่างการอัปเดตตารางด้วยข้อมูลจากตารางอื่นใน MySQL

  UPDATE staff 
SET ten = (SELECT ten
FROM danhba
WHERE danhba.ho = nhanvien.ho)
WHERE nhanvien_ id> 95;

ตัวอย่างข้างต้นจะอัปเดตระเบียนทั้งหมดในตารางหาก nhanvien_id มากกว่า 95 หากนามสกุลของพนักงานอยู่ในตารางและชื่อเหมือนกัน ชื่อใน รายการจะถูกคัดลอกไปยังชื่อในตาราง

คำสั่ง UPDATE นี้สามารถเขียนใหม่ได้ด้วยไวยากรณ์ที่สองด้านล่าง

  UPDATE anvien 
SET nhanvien.ten = danhba.ten
FROM nhanvien
INNER JOIN danhba
ON (nhanvien.ho = danhba.ho)
WHERE nhanvien _id> 95;