Softmush.com, teknoloji, yazılım ve dijital dünyaya dair derinlemesine içeriklerle bilgiye ulaşmanın güvenilir adresi. - Softmush.com
“ Söz konusu olan vatansa, gerisi teferruat. ”
Mustafa K. Atatürk
SQL Dilinde SQL DELETE Kullanımı

SQL Dilinde SQL DELETE Kullanımı

SQL (Yapısal Sorgu Dili), veri tabanlarıyla etkileşim kurmak için kullanılan güçlü bir dildir. Bu etkileşimin temel bileşenlerinden biri de mevcut verileri silme yeteneğidir. DELETE ifadesi, bir tablodan bir veya daha fazla satırı kalıcı olarak kaldırmak için kullanılır. Bu makale, DELETE ifadesinin sözdizimini, kullanımını ve dikkat edilmesi gereken önemli noktaları detaylı bir şekilde ele alacaktır.

Sözdizimi


DELETE ifadesinin temel sözdizimi aşağıdaki gibidir:


DELETE FROM tablo_adi
WHERE kosul;

Tüm satırları silmek için WHERE koşulu atlanabilir:


DELETE FROM tablo_adi;

DELETE ifadesinin bileşenleri şunlardır:


  • DELETE FROM: Bu anahtar kelimeler, belirtilen tablodan satır silme işlemini başlatır.

  • tablo_adi: Verilerin silineceği tablonun adıdır. Bu, işlemin hedefidir.

  • WHERE kosul: İsteğe bağlı bir koşuldur. Bu koşul belirtilirse, yalnızca koşulu karşılayan satırlar silinir. Eğer WHERE koşulu belirtilmezse, tablodaki tüm satırlar silinir. Bu durum geri alınamaz olduğundan büyük dikkat gerektirir. Koşul, bir veya daha fazla sütun üzerinde mantıksal operatörler (=, <>, <, >, <=, >=, LIKE, IN, BETWEEN vb.) kullanılarak tanımlanır.


Örnekler


Aşağıdaki örnekler, DELETE ifadesinin çeşitli senaryolarda nasıl kullanılacağını göstermektedir. Örneklerde, Calisanlar adında bir tablonun var olduğu varsayılmaktadır.


Örnek 1: Belirli Bir Satırı Silme


Calisanlar tablosundan CalisanID'si 101 olan çalışanı silmek için:


DELETE FROM Calisanlar
WHERE CalisanID = 101;

Örnek 2: Birden Fazla Satırı Koşula Göre Silme


Calisanlar tablosundan 'Pazarlama' departmanında çalışan tüm personeli silmek için:


DELETE FROM Calisanlar
WHERE Departman = 'Pazarlama';

Örnek 3: Belirli Bir Tarihten Önceki Kayıtları Silme


Calisanlar tablosundan GirisTarihi 2020 yılından önce olan tüm çalışanları silmek için:


DELETE FROM Calisanlar
WHERE GirisTarihi < '2020-01-01';

Örnek 4: Tüm Satırları Silme (WHERE koşulu olmadan)


Calisanlar tablosundaki tüm kayıtları silmek için:


DELETE FROM Calisanlar;

Bu işlem, tablonun yapısını korurken tüm verileri kalıcı olarak kaldırır.


Önemli Notlar


  • Yedekleme: DELETE işlemini gerçekleştirmeden önce her zaman veri tabanınızı yedekleyin. Yanlışlıkla yapılan silme işlemleri geri alınamaz sonuçlar doğurabilir.

  • WHERE Koşulunun Önemi: WHERE koşulunu dikkatlice yazın ve doğruluğundan emin olun. Koşulun yanlış olması, beklenenden daha fazla veya yanlış verilerin silinmesine yol açabilir.

  • TRUNCATE TABLE vs. DELETE: Tüm satırları silmek için DELETE FROM tablo_adi; yerine TRUNCATE TABLE tablo_adi; de kullanılabilir. Ancak bu iki komut arasında önemli farklar vardır:

    • DELETE, satır satır silme işlemi yapar ve her silinen satır için işlem günlüğü (transaction log) kaydı tutar. Bu nedenle daha yavaş olabilir ve geri alınabilir (ROLLBACK) bir işlem olabilir.

    • TRUNCATE TABLE, tabloyu yeniden oluşturarak daha hızlı bir şekilde tüm verileri siler. İşlem günlüğüne minimum kayıt yazar, bu yüzden daha performanslıdır. Ancak, bu işlem genellikle geri alınamaz (ROLLBACK edilemez).

  • İlişkisel Bütünlük (Referential Integrity): Bir tabloda silmeye çalıştığınız veriler başka bir tablonun dış anahtar (FOREIGN KEY) kısıtlamaları tarafından referans alınıyorsa, silme işlemi başarısız olabilir veya ilişkili verilerin de silinmesini (ON DELETE CASCADE) tetikleyebilir. Veri tabanı tasarımınızı ve kısıtlamalarınızı anlayın.

  • İşlem Kontrolü (Transaction Control): Özellikle kritik silme işlemleri için BEGIN TRANSACTION (veya START TRANSACTION), COMMIT ve ROLLBACK komutlarını kullanın. Bu, silme işlemini test etmenize ve gerekirse geri almanıza olanak tanır.


    BEGIN TRANSACTION;
    DELETE FROM Calisanlar
    WHERE CalisanID = 101;
    -- SELECT * FROM Calisanlar WHERE CalisanID = 101; -- Silinip silinmediğini kontrol et
    -- COMMIT; -- Değişiklikleri kalıcı hale getir
    -- ROLLBACK; -- Değişiklikleri geri al
Yayınlanma Tarihi: 2025-10-16 11:00:36
JavaScript Dilinde Map Nesnesinin Kapsamlı Kullanımı
Önceki Haber

JavaScript Dilinde Map Nesnesinin Kapsamlı Kullanımı

JavaScript Makaleleri
Sonraki Haber

Python Dilinde Tuple Kullanımı: Sabit Veri Yapıları

Python Makaleleri
Python Dilinde Tuple Kullanımı: Sabit Veri Yapıları

Yorum yap

Yorum yapabilmek için  giriş  yapmalısınız.

Yorumlar

Bu yazı hakkında henüz yorum yapılmamıştır.
× SQL Dilinde SUM Fonksiyonu: Detaylı Kullanım Kılavuzu
Bu ilginizi çekebilir

SQL Dilinde SUM Fonksiyonu: Detaylı Kullanım Kılavuzu

SQL (Yapısal Sorgulama Dili), veritabanlarından bilgi almayı ve manipüle etmeyi sağlayan...