16 Ocak 2017 Pazartesi

DELETE

Kayıt Silme



Bir tabloda bulunan bir yada daha fazla satır silinebilmektedir. Silme işlemi için DELETE deyimi kullanılmaktadır. Bu deyimin genel yapısı şu şekildedir.

DELETE FROM tablo_adı
      WHERE koşul


Bir tabloda bütün kayıtlar silinebileceği gibi belli bir şartı sağlayan herhangi bir kayıtta silinebilmektedir. Örneğin daha önce oluşturduğumuz «secilenmüsteri» tablosunun tüm kayıtlarını silmek için şöyle bir SQL ifadesi yazılacaktır.

DELETE FROM secilenMüsteri

Herhangi bir koşul olmadığı için bütün kayıtlar silinecektir.


Şimdi de belli bir şarta sahip kayıtları silmek için bir örnek verelim. Müşteriler tablosunda “Ali Arslan” isimli müşteri ile artık çalışmadığımızı düşünerek bu müşteriyi tamamen silelim. SQL ifademiz şöyle olacaktır.

DELETE FROM musteriler
      WHERE (adi='Ali' AND soyadi='Arslan')

Aynı şekilde bir tabloda istenilen şartı sağlayan birden fazla kayıtta silinebilmektedir. Örneğin Müşteriler tablosunda Ankara ‘da oturan bütün müşterileri silmek istersek SQL ifademiz aşağıdaki gibi olacaktır.

DELETE FROM musteriler
      WHERE il ='Ankara'



DELETE komutunda da tıpkı INSERT INTO ve UPDATE komutlarında olduğu gibi alt sorgular kullanılarak da kayıtlar silinebilmektedir. Bu noktada yine SELECT ifadesinden yararlanılmaktadır.

Örneğin; personel tablosunda İMALAT bölümüne ait bütün kayıtları silmek istiyoruz. Bu işlemi gerçekleştiren SQL ifadesi şöyle olacaktır:

DELETE FROM personel
      WHERE bolumID = (SELECT bolumID
                                                 FROM bolum
                                                        WHERE bolumAdi = 'İMALAT')