Sql Server

Sql Server Veri Güncelleme

Herkese merhaba, Sql Server yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Sql Server’da bir tablodan veri güncellemeyi anlatacağım. Hadi başlayalım !

Sql Server’da bir tablodan veri güncellemek için yazmamız gereken Sql kodunun yapısı şu şekilde olacaktır;

update tablo_adı set sütun1=veri1, sütun2=veri2, ..., sütunn=verin [where koşul]

Buradaki tablo_adı yerine güncelleme yapmak istediğiniz tablonun adını, sütun1, sütun2, …, sütunn yerine güncelleme yapmak istediğiniz sütunların adını, veri1, veri2, …, verin yerine ilgili sütunun yeni değerini yazmanız gerekiyor. [where koşul] kısmını da yazmak zorunlu değil, eğer tüm verileri güncellemek istiyorsanız yazmayacaksınız. Belirli bir koşulu sağlayan verileri güncellemek istiyorsanız da o koşulu yazmanız gerekiyor. Yani örneğin kitaplar adlı bir tablonuz ve bu tablo içerisinde kitapAdi ve basimYili sütunlarınız olsun. basimYili değeri 2000’den küçük olanların kitapAdi değerini SoftwareSup yapmak istiyorsanız where ifadesini yazmalı, tüm kitapAdi değerlerini SoftwareSup yapmak istiyorsanız yazmamalısınız.

where ile yazabileceğimiz koşulların haddi hesabı yok diyebilirim. Hem Sql Server’da bulunan yerleşik fonksiyonları, hemde sizin yazdığınız fonksiyonları kullanarak yüzlerce hatta binlerce farklı koşul yazabilir ve bu koşullara göre tablo üzerinde güncelleme işlemi yapabilirsiniz. Ben hem Sql Server’ın kendi fonksiyonlarını hemde kendi fonksiyonlarımızı yazmayı farklı yazılarla anlatacağım fakat şimdilik basit koşullar ile güncellemeler yapalım.

Örneğin, az önce dediğim gibi kitaplar adlı bir tablomuz ve bu tabloda varchar tipte kitapAdi, int tipte basimYili ve int tipte de sayfaSayisi, varchar tipte kategori sütunları olsun. Sırasıyla bu tablomuzdan basimYili 2000’den küçük olanların basimYili değerini 2000, sayfaSayisi 200’den büyük olanların kategorisini roman, kitapAdi Seyfiller olanların kitapAdi değerini Sefiller ve son olarakta tüm verilerin kategorisini hikaye yapalım.

update kitaplar set basimYili=2000 where basimYili < 2000;
update kitaplar set kategori='roman' where sayfaSayisi > 200;
update kitaplar set kitapAdi='Sefiller' where kitapAdi='Seyfiller';
update kitaplar set kategori='hikaye';

Burada dikkat etmemiz gereken şey; güncelleme yapmak istediğimiz sütunun yeni değerini sütunun veritipine uygun olarak yazmamız gerekiyor. Örneğin kitapAdi sütunumuz varchar tipte olduğu için 2 ve 4. satırdaki kodlarda yeni değeri tek tırnak işareti içine aldık. Ayrıca where koşulu içerisinde de aynı şekilde veritipi metinsel (char, varchar, text gibi) olanları da tek tırnak işareti içine almamız gerekiyor. Tek tırnak işareti içine almazsak, Sql Server orayı da bir komut gibi algılayıp kayıtlı komutlar arasından bakacak ve komut bulamazsa hata verecektir. Tek tırnak işareti içine aldığımızda ise oranın komut değil dışarıdan gelen bir veri olduğunu algılayacak ve komut olarak çalıştırmayıp doğrudan veri olarak alacaktır.

where koşulu olarak yazdığımız şeylere bakarsanız <, > ve = gibi matematiksel işaretler kullandık. Aslında where koşulu içerisine yazdığımız herşeyin matematiksel bir karşılığı var. Eşitlik durumları sadece sayısal ifadeler için değil, aynı zamanda metinsel ifadeler için de yapılabiliyor. Bu gerçek hayatta da böyle aslında. “Senin adın Ali mi ?” diye sorduğumuz durumda kişinin adının Ali’ye eşit olup olmadığını soruyoruz aslında. Yada bir markete gidip domates aldığınızda aslında türü domatese eşit olan maddelerden alıyorsunuz. Sql Server’da da aynı şekilde kitapAdi değeri Seyfiller olanlar dediğimizde aslında Seyfiller adlı kitapları istemiş oluyoruz ve Sql Server’da kayıtlı verileri tarayıp kitapAdi değeri Seyfiller’e eşit olanları bulup getiriyor ve sorgu içerisinde ne istenmiş ise onu yapıyor.

Sql Server’da tablo içerisinden veri güncelleme işleminin mantığı bu kadar fakat dediğim gibi where koşulu içerisinde yazacaklarımız bunlarla sınırlı değil, o yüzden diğer yazılarımızı da okumanızı tavsiye ederim 🙂 Tüm Sql Server yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir yanıt yazın

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

Başa dön tuşu