🟢 UPDATE & DELETE
UPDATE & DELETE: UPDATE ve DELETE'i, elinde silgi ve kalemle bir sınıf listesinin başında durmak gibi düşün.
UPDATE ve DELETE'i, elinde silgi ve kalemle bir sınıf listesinin başında durmak gibi düşün. Fark şurada: bu listede kimin üstünü çizeceğini isimle değil, tarif ederek söylersin — 'devamsızlığı 3'ten fazla olanlar'. Tarifi söylemeyi unutup sadece 'sil' dersen, silgi listenin tamamında gezer. İkisinin de ortak tuzağı budur: WHERE koşulunu unutursan, komut tablodaki tüm satırlara uygulanır. Java'da `map.put(key, newValue)` yazdığında yalnızca o key'in değerini değiştirirsin; SQL'de `UPDATE test_results SET status = 'PASS'` yazmak ise tablodaki tüm satırların status'ünü değiştirir, çünkü SQL'de hedef key değil WHERE koşuludur. Peki her ikisinde de değiştirmek için anahtar belirtmek gerekmiyor mu? Java'da anahtar zorunlu; SQL'de opsiyonel — işte bu asimetri production veri felaketlerinin en yaygın sebebidir. QA mühendisi için bu risk özellikle test cleanup aşamasında kritiktir: testin ardından `DELETE FROM test_results WHERE environment = 'ci-temp'` yerine `DELETE FROM test_results` yazarsan, tüm test geçmişini silersin — CI dashboard'u boş kalır, raporlar anlamsızlaşır ve ekip neden son haftalık sonuçların kaybolduğunu anlayamaz. Kural: UPDATE veya DELETE yazmadan önce aynı WHERE ile önce SELECT çalıştır ve kaç satır etkileneceğini gözle doğrula.
Micro Lab: SQL — Guncelleme ve Silme
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Adim Adim: SQL — Guncelleme ve Silme
BEGIN TRANSACTION ile islemleri sardır — hata durumunda geri alinabilir ol
SELECT ile kontrol et
Once SELECT * FROM tablo WHERE kosul ile etkilenecek kayitları goruntule
WHERE kosulunu yazarken PRIMARY KEY veya benzersiz sutun kullan
UPDATE/DELETE calistir
UPDATE tablo SET sutun=deger WHERE kosul veya DELETE FROM tablo WHERE kosul calistir
Sonucu dogrulayip COMMIT et; sorun varsa ROLLBACK ile geri don
SQL guncelleme veya silme islemini guvenli yapma sirasi nedir?
UPDATE ve DELETE komutlarında MUTLAKA WHERE kullanın! WHERE olmadan tablodaki tüm satırlar etkilenir. Değiştirilecek satırları önce SELECT ile doğrulayın, ardından güncelleme veya silme işlemini yapın.
Güvenli UPDATE ve DELETE Pratikleri