SQL DELETE Kullanımı
DELETE ifadesi tablomuzda bulunan kayıtları silmek için kullanılır.
DELETE Kullanım Biçimi
DELETE FROM tablo_adi
WHERE secilen_alan_adi=alan_degeri |
Burada dikkat edilecek nokta WHERE ifadesi ile belli bir kayıt seçilip
silinir. Eğer WHERE
ifadesini kullanmadan yaparsak tablodaki bütün kayıtları silmiş oluruz.
Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
id |
Adi_soyadi |
Sehir |
Bolum |
Meslek_Kodu |
1 |
Salih
ESKİOĞLU |
İstanbul |
Bilgi İşlem
Sorumlusu |
1234567 |
2 |
Ayhan
ÇETİNKAYA |
Kocaeli |
İdari İşler
Yöneticisi |
2345678 |
3 |
Serkan
ÖZGÜREL |
İstanbul |
Muhasebe |
3456789 |
Örnek1:
DELETE FROM Personel
WHERE id=3
Tablomuzda bulunan kayıtlarda WHERE ifadesi ile id alanında 3 yazan kaydı silmiş
olduk.
Metin karakterli alanlara tek tırnak işareti kullanılır. Sayısal
alanlarda direk olarak yazılır. Bazı veritbanı editörleri
sayısal alana veri girerken de te tırnak işareti içinde yazımı kabul etmektedir.
Çıktısı:
id |
Adi_soyadi |
Sehir |
Bolum |
Meslek_Kodu |
1 |
Salih
ESKİOĞLU |
İstanbul |
Bilgi İşlem
Sorumlusu |
1234567 |
2 |
Ayhan
ÇETİNKAYA |
Kocaeli |
İdari İşler
Yöneticisi |
2345678 |
Örnek2:
DELETE FROM Personel
WHERE Sehir='İstanbul'
Bu kodda WHERE ifadesi ile Sehir alanında İstanbul yazan kayıtları silmiş olduk.
Çıktısı:
id |
Adi_soyadi |
Sehir |
Bolum |
Meslek_Kodu |
2 |
Ayhan
ÇETİNKAYA |
Kocaeli |
İdari İşler
Yöneticisi |
1111111 |
TRUNCATE TABLE Kullanım Biçimi
Eğer tablomuzu değil de sadece içindeki kayıtları silmek istiyorsak yani
tablomuzun içini boşaltmak istiyorsak aşağıdaki kodu kullanabiliriz:
Bu yapıyı DELETE ile benzerlik gösterir. Aralarındaki farklar şunlardır:
- Delete ile vereceğimiz parametrelere göre silme yapabiliriz. Mesela yaşadığı
il İstanbul olan kayıtları silebiliriz. Ancak Truncate yapısında direk olarak
bütün kayıtlar silinir. Yani parametre veremeyiz.
- Delete ile bütün kayıtları sildiğimiz zaman otomatik numara sırası baştan
başlamaz. Yani 150 tane kaydımız varsa delete ile silip yeni kayıt eklediğimiz
zaman 151 nolu otomatik numarayı atar. Ancak Truncate ile silip yeni kayıt
eklersek otomatik numara 1 'den itibaren başlar.
|