WHERE yan tümcesini karşılayan FROM yan tümcesinde listelenen tablolardan birinden veya birden fazlasından kayıtları kaldıran bir silme sorgusu oluşturur.
Söz dizimi
DELETE [table.*]
FROM tablosu
WHERE ölçütleri
DELETE deyiminin bölümleri:
Bölüm |
Açıklama |
tablo |
Kayıtların silindiği tablonun isteğe bağlı adı. |
tablo |
Kayıtların silindiği tablonun adı. |
ölçütler |
Silinecek kayıtları belirleyen bir ifade. |
Notlar
Özellikle birden çok kayıt silmek istediğinizde DELETE çok kullanışlıdır.
Veritabanından tablonun tamamını bırakmak için Execute yöntemini drop deyimiyle kullanabilirsiniz. Ancak tabloyu silerseniz yapı kaybolur. Buna karşılık, DELETE kullandığınızda yalnızca veriler silinir; tablo yapısı ve alan öznitelikleri ve dizinler gibi tüm tablo özellikleri değişmeden kalır.
Diğer tablolarla bir-çok ilişkisi içinde olan tablolardan kayıt silmek için DELETE yan tümcesini kullanabilirsiniz. Basamaklı silme işlemleri, ilişkinin bir tarafındaki karşılık gelen kayıt sorguda silindiğinde çok tarafındaki tablolarda bulunan kayıtların silinmesine neden olur. Örneğin, Müşteriler ve Siparişler tabloları arasındaki ilişkide, Müşteriler tablosu ilişkinin bir tarafında, Siparişler tablosu ise çok tarafındadır. Basamaklı silme seçeneği belirlendiğinde, Müşteriler tablosundan bir kayıt silinirse karşılık gelen Siparişler kayıtları da silinir.
Silme sorgusu yalnızca belirli alanlardaki verileri değil kayıtların tamamını siler. Belirli bir alandaki değerleri silmek isterseniz, değerleri Null olarak değiştiren bir güncelleştirme sorgusu oluşturun.
Önemli:
-
Silme sorgusu kullanarak kayıtları kaldırdıktan sonra işlemi geri alamazsınız. Hangi kayıtların silindiğini öğrenmek istiyorsanız, aynı ölçütleri kullanan bir seçme sorgusunun sonuçlarını inceledikten sonra silme sorgusunu çalıştırın.
-
Her zaman verilerinizin yedek kopyalarını bulundurun. Yanlış kayıtları silerseniz, yedek kopyaları kullanarak bunları kurtarabilirsiniz.