MS SQL Server Eğitimleri 35 – T-SQL Delete İşlemi

 

MS SQL eğitimlerimize bir başka önemli konu DELETE işlemi ile devam ediyoruz.

Not: Derslerimi baştan sona takip eden arkadaşlar XENONBOX veritabanını benimle beraber oluşturdu iseniz. Aşağıda anlatacağım işlemleri kendi veri tabanınız üzerinde uygulamaya çalışamayınız hata alacaksınız. Alacağınız hatayı yazının sonunda anlattım. Bir sonraki yazımda bu hatayı nasıl giderebileceğimizi anlatacağım.

Burada sadece DELETE komutunun nasıl uygulandığına göz atıp öğrenmeniz yeterlidir.

DELETE isminden de anlaşılacağı üzere tablodaki verileri silmek için kullandığımız bir sorgudur. 

Diğer sorgularımız gibi kullanımı kolaydır ama en riskli sorgu tipidir. Where şartını unuttuğunuz anda biraz yazılım jargonuyla ifade edeyim tüm tabloyu uçurabilirsiniz. Aman dikkat.

DELETE Kullanımı

Canlı bir örnek ile görelim.

XENONBOX veritabanında CUSTOMER tablosuna ilk olarak bir SELECT atalım. Oradan silmek için kendimize bir veri seçelim.

1 Maria Anders Münih Germany 030-0074321
2 Ana Trujillo Münih Mexico (5) 555-4729
3 Antonio Moreno Münih Mexico (5) 555-3932
4 Thomas Hardy Münih UK (171) 555-7788
5 Christina Berglund Münih Sweden 0921-12 34 65
6 Hanna Moos Münih Germany 0621-08460
7 Frédérique Citeaux Münih France 88.60.15.31
8 Martín Sommer Münih Spain (91) 555 22 82
9 Laurence Lebihan Münih France 91.24.45.40
10 Elizabeth Lincoln Münih Canada (604) 555-4729

Değerli Maria Hanım artık başka bir iş buldu ve firmamızdan ayrıldı. Artık veri tabanımızda çalışanlar kolonumuzda bulunmasına gerek yok o zaman silelim.

 

 

 

 

 

2 Ana Trujillo Münih Mexico (5) 555-4729
3 Antonio Moreno Münih Mexico (5) 555-3932
4 Thomas Hardy Münih UK (171) 555-7788
5 Christina Berglund Münih Sweden 0921-12 34 65
6 Hanna Moos Münih Germany 0621-08460
7 Frédérique Citeaux Münih France 88.60.15.31
8 Martín Sommer Münih Spain (91) 555 22 82
9 Laurence Lebihan Münih France 91.24.45.40
10 Elizabeth Lincoln Münih Canada (604) 555-4729

Böylelikle Maria Hanım’ı şirketimizin veri tabanlarından silmiş olduk.

Dikkat: DELETE işlemini Where şartı olmadan kullanırsanız tüm tablodaki verileri temizler.

Bunu görmek için bir tablomuzdan vazgeçip sizlere bir örnek göstereceğim.

Sizler bunu uygulamayınız.

 

 

 

 

 

 

 

 

Not: Delete işlemi yaparken Where şartı ile Primary Key olan alanları yazmanız veri güvenliğiniz için önemlidir. Çünkü Primary Key ile sadece hedeflediğiniz veri silinecektir. Bir örnek verelim. 

Öncelikle London da yaşayan kişileri listeleyelim.

4 Thomas Hardy London UK (171) 555-7788
11 Victoria Ashworth London UK (171) 555-1212
16 Elizabeth Brown London UK (171) 555-2282
19 Ann Devon London UK (171) 555-0297
53 Simon Crowther London UK (171) 555-7733
72 Hari Kumar London UK (171) 555-1717

6 tane kaydımız listelendi. Şimdi biz bu listeden Thomas’ı silmek isteyelim ama bunu Primary olmayan alan CITY üzerinden yapalım bakın neler olacak.

Yaptığım bu işlem sonrasında sadece Thomas değil tüm London da kalanlar gitti. 

Select attığımızda artık hiç bir verinin gelmediğini görüyoruz.

Bu konularda dikkatli olmanızı tavsiye ederim.

Bu yazımda kullanılan DELETE işlemi tabloları arasında ilişki olmayan veritabanı üzerinden çalışan DELETE sorgusuydu. Ama derslerimi başından bu yana takip eden arkadaşlarımın tabloları ilişkili tablolardı ve ilk silme işlemini denediğinizde şöyle bir hata almış olmalısınız.

Bu hatayı nasıl giderebiliriz bunu bir sonraki yazımda anlatacağım.

Görüşmek üzere.

Facebook Sayfamizdan Bizleri Takip Edebilirsiniz
Murat Bilginer

Industryolog Akademi Founder – Endüstri Mühendisi
Canias ERP Troia Geliştiricisi & Yazılım Uzmanı
7 Yıldır bildiğini paylaşmak için çabalayan bir blogger.

http://muratbilginer.net/