🟢 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