T-SQL DML Update Komutu

UPDATE komutu, SQL Server’da mevcut tablo kayıtlarını değiştirmek için kullanılan temel bir DML (Data Manipulation Language) komutudur. Bu makalede UPDATE komutunun tüm detaylarını ve farklı kullanım metotlarıyla inceleyeceğiz.

Temel Komut:

UPDATE Table_Name SET kolon1= Deger1

Aşağıdaki komutu çalıştırdığımızda ilgili kolondaki tüm değerlere PC olarak değiştirmektedir.

Update Siparisler set UrunAdi='PC'

Yukarıdaki sorunlarla karşılaşmamak için update sorgularımızda where komutunun kullanılması gerekmektedir.

Update Siparisler set UrunAdi='Bilgisayar' where SiparisID=1

Aynı id değerine sahip birden fazla kaydı güncellemek aşağıdaki komut kullanılmaktadır.

Update Siparisler set UrunAdi='ELAZIĞ',SiparisTarihi='2025-07-03' where SiparisID=2

Belirli bir koşul aralığı belirtirsek belirlenen aralıktaki değerleri güncellemektedir.

Update Siparisler set UrunAdi='ELAZIĞ',SiparisTarihi='2025-07-03' where SiparisID>=1 and SiparisID<10

IN operatörü ile belirlediğimiz birden fazla değeri güncelleme işlemi yapabiliriz.

Update Siparisler set UrunAdi='YUNUS',SiparisTarihi='2025-07-23' where SiparisID IN(1,3,5,7)

Join işlemlerinde update işlemi çalışmaktadır. Left Join işlemi sol tabloyu tamamen getirirken karşılığı olmayan değere NULL değeri atamaktadır. Null gelen değerlere update komutuyla istediğimiz değeri set edebiliriz. Aşağıdaki resim left join yapılan tablomuzun ilk hali.

Aşağıdaki komutla ürün adı Null olarak güncellenmektedir.

UPDATE s
SET s.UrunAdi = 'LAPTOP'
FROM Siparisler s
LEFT JOIN Kullanicilar k ON s.KullaniciID = k.KullaniciID
WHERE s.UrunAdi IS NULL 

Aşağıdaki komut ile case-when ifadesi ile koşullu bir şekilde güncelleme yapabiliriz.

update s set s.UrunAdi= case
			when s.UrunAdi='LAPTOP' then 'YU'
			WHEN s.UrunAdi=NULL THEN 'KU'
			ELSE 'MY'
			END
from Kullanicilar  k left join Siparisler s on k.KullaniciID=s.KullaniciID

Gerçek tablomuz üzerinde güncelleme işlemini görmekteyiz.

Alt sorgu belirleyerek değer belirtebiliriz. Müşterinin toplam sipariş sayısına göre indirim oranı güncelleyebiliriz.

UPDATE Musteriler
SET IndirimOrani = (
    SELECT COUNT(*) 
    FROM Siparisler 
    WHERE Siparisler.MusteriID = Musteriler.MusteriID
);

Başka bir subquery örneği

update Kullanicilar set AdSoyad=(select UrunAdi from Siparisler where SiparisID=5)

Top keywordü ile belirli satırı güncelleme işlemi yapabiliriz. Aşağıdaki komut sadece 5 satırı güncelleme işlemi yaparız.

update top(5) Kullanicilar set AdSoyad='YUNUS'

SQL Server’da UPDATE komutunun farklı kullanım senaryolarını kapsamaktadır. Güvenli güncellemeler için her zaman önce bir SELECT sorgusuyla hangi kayıtların etkileneceğini kontrol etmeniz önerilir.

Bu makalede UPDATE komutunu detaylı bir şekilde görmüş olduk. Başka makalede görüşmek dileğiyle..

“…Olur ki (bazen) hoşunuza gitmeyen bir şey sizin için hayırlı olur ve hoşunuza giden bir şey de sizin için şer olur. (Hayırlı ve doğru olanı) Allah bilir, siz bilemezsiniz.” Bakara Suresi; 216. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir