SQL UPDATE komutu, bir tablodaki mevcut verileri değiştirmek için kullanılır.
UPDATE tablo_adı
SET sütun1 = değer1, sütun2 = değer2, ...
WHERE koşul;
NOT: Yukarıda anlaşılır olması için türkçe karakter kullanılmıştır.Kod yazımlarında Türkçe karakter kullanmayınız.
Tablodaki verileri güncellerken dikkatli olunmalı! UPDATE SQL komutundaki WHERE ile belirtilen koşul hangi verilerin güncellenmesi gerektiğini belirtir. WHERE koşulunu atlarsanız, tabloda tüm veriler güncellenir.
Örnek tablo üzerinde SQL komutu inceleyelim.
KullaniciID |
Ad |
Soyad |
Adres |
Sehir |
Postakodu |
Ulke |
1 |
Safa |
Dedeoğlu |
Necmettin Erbakan Cad. no 8/1 |
İstanbul |
34000 |
Türkiye |
2 |
Fatih |
Turab |
İskele Cad. hastane sok. |
Artvin |
08300 |
Türkiye |
3 |
John |
Doupoint |
Claremont Rd no:8/3 |
Newcastle |
NE2 4AA |
İngiltere |
4 |
Gustavo |
Alfaro |
Cuero y Caicedo, Quito |
New York |
170129 |
Amerika |
5 |
Abel |
Gigli |
Dagmada Waaberi 324/5 |
Moskova |
Jh09010 |
Rusya |
6 |
Xiao |
Chu |
Unnamed Road |
Pekin |
Jk07320 |
Çin |
7 |
Osman |
Ebuselim |
Shara Zaviya Dahmani PO:928 |
Doha |
243512 |
Katar |
8 |
Frank |
Walter |
Trudering-Riem 326/3 |
Münih |
81825 |
Almanya |
Aşağıdakı SQL kodu SQL UPDATE komutunun işleyişini anlamada bize yardımcı olucaktır.
UPDATE Musteriler
SET Ad = ‘Halid’, Soyad= 'Al sare'
WHERE CustomerID = 7;
Sonuç çıktısı:
7 |
Halid |
Al sare |
Shara Zaviya Dahmani PO:928 |
Doha |
243512 |
Katar |
8 |
Frank |
Walter |
Trudering-Riem 326/3 |
Münih |
81825 |
Almanya |
UPDATE SQL kodu ile müşteri verisi güncellerken sadece belirtilen sütunlarda güncelleme yapılır diğerleri olduğu gibi bırakılır.
Hangi verilerin güncelleneceğini belirleyen faktör WHERE koşuludur.
UPDATE Musteriler
SET Sehir= 'Ankara'
WHERE Ulke = 'Türkiye';
Yukarıdaki SQL komutu, ülkesi Türkiye olnaların yaşadığı şehri İstanbul olarak günceller.
Sonuç çıktısı:
1 |
Safa |
Dedeoğlu |
Necmettin Erbakan Cad. no 8/1 |
Ankara |
34000 |
Türkiye |
2 |
Fatih |
Turab |
İskele Cad. hastane sok. |
Ankara |
08300 |
Türkiye |
Tabloda veri güncellerken WHERE koşuluna dikkat edilmezse ciddi veri kayıpları yaşana bilir. Bunu bir örnekle gösterelim.
UPDATE Musteriler
SET Sehir= 'Ankara'
Sonuç çıktısı:
KullaniciID |
Ad |
Soyad |
Adres |
Sehir |
Postakodu |
Ulke |
1 |
Safa |
Dedeoğlu |
Necmettin Erbakan Cad. no 8/1 |
Ankara |
34000 |
Türkiye |
2 |
Fatih |
Turab |
İskele Cad. hastane sok. |
Ankara |
08300 |
Türkiye |
3 |
John |
Doupoint |
Claremont Rd no:8/3 |
Ankara |
NE2 4AA |
İngiltere |
4 |
Gustavo |
Alfaro |
Cuero y Caicedo, Quito |
Ankara |
170129 |
Amerika |
5 |
Abel |
Gigli |
Dagmada Waaberi 324/5 |
Ankara |
Jh09010 |
Rusya |
6 |
Xiao |
Chu |
Unnamed Road |
Ankara |
Jk07320 |
Çin |
7 |
Osman |
Ebuselim |
Shara Zaviya Dahmani PO:928 |
Ankara |
243512 |
Katar |
8 |
Frank |
Walter |
Trudering-Riem 326/3 |
Ankara |
81825 |
Almanya |
Örnekte de görüldüğü gibi SQL UPDATE WHERE koşulu önemli bir parametre olarak eksikliğinde daha büyük veritabanların da ciddi sorunlara yol açabilir.
İçerik: Yusuf Erdoğan