SQL Dersleri 9 – UPDATE Cümlesi

UPDATE cümlesi veritabanındaki kayıtlı olan veriler üzerinde değişiklik yapmamızı sağlayan bir sql komutudur.

SQL UPDATE Syntax Yapısı
UPDATE ifadesi, bir tablodaki varolan kayıtları güncelleştirmek için kullanılır.

1
2
3
 UPDATE table_name
 SET column1=value, column2=value2,...
 WHERE some_column=some_value

 

NOT: WHERE yapısı burada UPDATE cümlesi içinde yardımcı bir yapıdır. WHERE koşulu ile update edilecek satır belirlenir. Eğer WHERE yapısı kullanılmaz veya unutulursa tüm tablodaki kayıtlar update edilir.

SQL UPDATE Örneği:
The “Kisiler” tablosu:

K_Id Soyad Ad Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob

Şimdi Kisiler tablosundaki “Tjessem, Jakob” kişisini update edelim.
Bunun için aşağıdaki sql cümlesi kullanılabilir.

1
2
3
 UPDATE Kisiler
 SET Adres='Nissestien 67', Sehir='Sandnes'
 WHERE Soyad='Tjessem' AND Ad='Jakob'

 

Yukarıdaki SQL cümlesi çalıştırıldıktan sonra tablonun yeni hali aşağıdaki gibi olur.

K_Id Soyad Ad Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob Nissestien 67 Sandnes

SQL UPDATE Uyarı:
Update cümleleri yazılırken yapılan en büyük hata WHERE koşulu eklemeyi unutmak veya verilen WHERE koşulunun istenilen veri dışında da verilerini kapsadığının gözden kaçmasıdır.

Örneğin yukarıdaki UPDATE cümlesinde WHERE koşulunu kaldırıp aşağaıdaki gibi çalıştıralım.

1
2
 UPDATE Kisiler
 SET Adres='Nissestien 67', Sehir='Sandnes'

 

UPDATE işlemi sonucunda tablo aşağıdaki gibi olurdu.

K_Id Soyad Ad Adres Sehir
1 Hansen Ola Nissestien 67 Sandnes
2 Svendson Tove Nissestien 67 Sandnes
3 Pettersen Kari Nissestien 67 Sandnes
4 Nilsen Johan Nissestien 67 Sandnes
5 Tjessem Jakob Nissestien 67 Sandnes

UPDATE cümlesini çalıştırmadan önce hangi satırların UPDATE edileceğinin kontrol etmenizi tavsiye ederim.
Bunun için

1
 UPDATE

 
yerine

1
 SELECT * FROM

 
yazılmalı ve SQL cümlesindeki

1
 SET

 
kısmı kaldırılarak aşağıdaki gibi çalıştırılarak kontrol edilebilir.

1
2
 SELECT * FROM Kisiler
 WHERE Soyad='Tjessem' AND Ad='Jakob'