İçeriğe geç

SQL · 6/8

Kayıt silme: DELETE

Tablodaki gereksiz veya silinmesi istenen satırları DELETE FROM ile kontrollü şekilde kaldırmak.

Önerilen çalışma: 25–45 dakika; örnekleri kendin uygula. Süre kişiye göre değişir.

Bu sayfada · 9 başlık

Başlamadan önce

Önceki dersteki örneği çalıştırmış olman ve dosya/çıktı ayrımını biliyor olman yararlı.

Öğrenme sırası: konuyu oku → çıktıyı tahmin et → örneği değiştir → alıştırmayı çöz → cevabını gerekçelendir.

SQL · Kayıt silme: DELETE — videolu atölye: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.

Videoyla adım adım izle

Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.

Video bölümleri ve tam metin

Kayıt silme: DELETE

Tablodaki gereksiz veya silinmesi istenen satırları DELETE FROM ile kontrollü şekilde kaldırmak.

Kavramı kur

Veritabanında artık ihtiyaç duyulmayan kayıtları silmek için DELETE FROM kullanılır. Bu komut belirtilen tablodan satırları kalıcı olarak kaldırır.

Neden böyle çalışıyor?

Tıpkı UPDATE gibi DELETE komutunda da WHERE koşulu hayati önem taşır. WHERE yazmadan DELETE FROM calisanlar; yazarsan tablodaki tüm satırlar silinir ve tablo bomboş kalır!

Çalışma sırası

DELETE satırları siler; tablonun kendisi, sütun yapısı ve ayarları korunur. Tabloyu tamamen sistemden yok etmek için DROP TABLE kullanılır.

İkinci örnek · 1

DELETE FROM calisanlar tablodan satır silineceğini belirtir. Kodun tamamı yazılı derste bulunur.

Kod

DELETE FROM calisanlar
WHERE id = 3;

Beklenen sonucu oku

Silinen satır sayısı sonuç olarak döner.

Beklenen çıktı: 1 satır silindi.

Bir değeri sen değiştir

Bölümü 'Stajyer' olan tüm çalışanları silen bir sorgu yaz. Silme sorgusu yazmadan önce aynı koşulu SELECT ile çalıştırıp hangi satırların silineceğini önceden gör.

Hata nereden gelir?

WHERE koşulunu yazmayı unutmak tüm tabloyu boşaltır.

Kendi çözümünü kur

Belirli bir tarihten eski kayıtları silmek için büyüktür/küçüktür işleci kullan. Güvenlik kuralı: DELETE yazmadan önce SELECT * FROM calisanlar WHERE ... ile silinecekleri listele.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

DELETE FROM calisanlar
WHERE bolum = 'Stajyer';

Kendini kontrol et

DELETE FROM tablo; ile DROP TABLE tablo; arasındaki temel fark nedir? Yanıt: DELETE satırları silip tablo yapısını korur; DROP ise tablonun yapısını tamamen yok eder.

Beklenen çıktı: 1 satır silindi.

Konu anlatımı

Veritabanında artık ihtiyaç duyulmayan kayıtları silmek için DELETE FROM kullanılır. Bu komut belirtilen tablodan satırları kalıcı olarak kaldırır.

Tıpkı UPDATE gibi DELETE komutunda da WHERE koşulu hayati önem taşır. WHERE yazmadan DELETE FROM calisanlar; yazarsan tablodaki tüm satırlar silinir ve tablo bomboş kalır!

DELETE satırları siler; tablonun kendisi, sütun yapısı ve ayarları korunur. Tabloyu tamamen sistemden yok etmek için DROP TABLE kullanılır.

İlk örneği oku ve dene

6

Kayıt silme: DELETE

DELETE FROM ile belirli koşula uyan satırları sileriz. WHERE unutulursa tablodaki tüm veriler silinir.

SQL
DELETE FROM calisanlar
WHERE id = 3;

▶ Sonuç

1 satır silindi.

Adım adım neden böyle çalışıyor?

  1. DELETE FROM calisanlar tablodan satır silineceğini belirtir.
  2. WHERE id = 3 silinecek satırın kimliğini sınırlandırır.
  3. Motor id değeri 3 olan satırı bulur ve tablodan kaldırır.
  4. Silinen satır sayısı sonuç olarak döner.
106

İkinci çözümlü örnek

Tablodaki gereksiz veya silinmesi istenen satırları DELETE FROM ile kontrollü şekilde kaldırmak.

SQL
DELETE FROM calisanlar
WHERE id = 3;

▶ Sonuç

1 satır silindi.

Kolaydan zora sen dene

  1. Bölümü 'Stajyer' olan tüm çalışanları silen bir sorgu yaz.
  2. Silme sorgusu yazmadan önce aynı koşulu SELECT ile çalıştırıp hangi satırların silineceğini önceden gör.
  3. Belirli bir tarihten eski kayıtları silmek için büyüktür/küçüktür işleci kullan.
İpucunu aç

Güvenlik kuralı: DELETE yazmadan önce SELECT * FROM calisanlar WHERE ... ile silinecekleri listele.

Üç görevin açıklamalı çözümünü oku
  1. DELETE FROM calisanlar WHERE bolum = 'Stajyer'; şartı sağlayanları siler.
  2. Silmeden önce SELECT * FROM calisanlar WHERE ... ile silinecek satırlar teyit edilmelidir.
  3. WHERE tarih < '2026-01-01' ile eski kayıtlar güvenle kaldırılır.
Bir çözüm varyasyonu gör
206

Çözüm varyasyonu

Önce kendi görevlerini dene. Bu varyasyonda girdi ve sonuçları karşılaştır.

SQL
DELETE FROM calisanlar
WHERE bolum = 'Stajyer';

▶ Sonuç

1 satır silindi.

Yaygın hata ve çözümü

  1. WHERE koşulunu yazmayı unutmak tüm tabloyu boşaltır.
  2. Tabloyu tamamen silmek istediğinde DELETE yerine DROP TABLE kullanılmalıdır; ikisini karıştırma.

Kendini değerlendir

DELETE FROM tablo; komutu ne yapar?

Ezberlemeden açıklayabiliyor musun?

DELETE FROM tablo; ile DROP TABLE tablo; arasındaki temel fark nedir?

Açıklamalı yanıt

DELETE satırları silip tablo yapısını korur; DROP ise tablonun yapısını tamamen yok eder.

Kendi çözümünde bir girdiyi değiştir. Çalıştırmadan önce beklenen sonucu yaz; gerçek sonuçla karşılaştır ve fark varsa hangi satırdan kaynaklandığını açıkla.

Kaynak ve çalışma ortamı

Örnekler küçük öğretim senaryolarıdır. Java/C#/PHP/Swift çalışma ortamını kendi cihazında ayrıca doğrula; yazılı sonuçlar beklenen davranışı açıklar.

Resmî dil belgeleri
Bu içerik işine yaradı mı?

Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.