Bu eğitimde, verileri tek bir tablodan silmek için MySQL DELETE deyimini nasıl kullanacağınızı öğrenmek istiyorsunuz.
Bir tablodaki verileri silmek için MySQL DELETE deyimini kullanırsınız. Aşağıdaki DELETE deyiminin sözdizimini gösterir:
1 2 3 4 | DELETE FROM tabloadi WHERE şart; |
Bu ifadede:
- İlk önce, verileri sildiğiniz tabloyu belirtin.
- İkinci olarak, WHERE yan tümcesinde hangi satırların silineceğini belirtmek için bir koşul kullanın. Satır koşulla eşleşirse silinir.
Dikkat: WHERE yan tümcesinin isteğe bağlı olduğuna dikkat edin. WHERE yan tümcesini çıkarırsanız, DELETE ifadesi tablodaki tüm satırları siler.
Bir tablodan veri silmeye ek olarak, DELETE ifadesi silinen satır sayısını döndürür.
Tek bir DELETE ifadesi kullanarak birden fazla tablodaki verileri silmek için, DELETE JOIN ifadesini kullanırsınız.
Tabloyu boşaltmak için TRUNCATE TABLE deyimini daha iyi performans elde etmek için kullanabilirsiniz.
Yabancı anahtar kısıtlaması olan bir tablo için, üst tablodaki satırları sildiğinizde, alt tablodaki satırlar ON DELETE CASCADE seçeneği kullanılarak otomatik olarak silinir.
MySQL DELETE
Örnekleri
Örnek: 25 numaralı yazarı silin.
1 2 3 | delete from yazar where yazarno=25 |
Örnek: 10A sınıfının erkek öğrencilerinin siliniz.
1 2 3 | Delete from ogrenci where sinif='10A' and Cinsiyet ='E' |
Örnek: Sayfasayısı 100’den az olan kitapların yazarlarını siliniz.
1 2 3 | Delete from yazarlar where yazarno in (Select yazarno from kitap where sayfasayisi <100) |
Örnek: En genç öğrenciyi silen sorguyu yazınız.(Öğrenciye ait her hangi bir ilişki olmaması gerekiyor yada on cascade yapılmalı )
1 2 3 4 5 | DELETE FROM ogrenci ORDER BY dtarih DESC LIMIT 0,1 |
Örnek: 10A sınıfındaki ERKEK öğrencilerin okuduğu kitapların listesini silen sorguyu yazınız.
1 2 3 4 5 6 7 | DELETE FROM islem WHERE ogrno in ( SELECT ogrno FROM ogrenci WHERE sinif='10A' AND cinsiyet='E' ) |
1 Yorum