C# Access sorguları konusunda hazırlanan bu makalede SQL sorgularını öğreneceğiz.

SQL Nedir

Veri tabanında istenilen tabloya yeni kayıt eklenmesini, istenilen kaydın silinmesini veya güncellenmesini, istenilen kriterlere uygun kayıtların listelenmesini sağlayan ifadelere sorgu denir. Veri tabanında sorgu yapmak için SQL dili kullanılmaktadır.

Sorgular otogaleri isimli veri tabanında yer alan otomobil isimli yukarıdaki tablo üzerinden gerçekleştirilecektir.

C# Sorgu anlatımı için kullanılacak Microsoft Access 2016 tablosu
C# Sorgu anlatımı için kullanılacak Microsoft Access 2016 tablosu

Aşağıdaki Download linkinden Microsoft Access 2016 ile hazırlanmış accdb uzantılı hazır veritabanı dosyasını bilgisayarınıza indirebilirsiniz.

Icon

Access Hazır Veri Tabanı 21.76 KB 1333 downloads

Access hazır veritabanı dosyasını sıkıştırılmış...

C# Access Sorguları

SQL INSERT SORGUSU 

Veri tabanında istenilen tabloya yeni bir kayıt eklenmesini sağlayan sorgu türüdür. Ekleme sorgusu için insert deyimi kullanılır.

Kullanım Şekli 1: insert into tablo_adi values (değer1,değer2,değer3…)

Açıklama: Bu kullanım şeklinde tablodaki tüm sütunlara bir başka deyişle tüm alanlara değer girilmesi gerekmektedir. Yukarıdaki tabloda ilanno,marka,model,seri,paket,yil,yakit,vites,km,kasatipi,motorgucu,motorhacmi,cekis,renk, garanti,durumu,boyadegisen,ilantarihi,fiyat ve satisdurumu alanları mevcuttur. O halde tablodaki yirmi adet alandan hiçbiri boş geçilmemelidir. Values ifadesinden sonraki parantez içerisine aralarında virgül konularak yirmi adet verinin yazılması zorunludur. Tablodaki herhangi bir alana karşılık gelen veri yazılmaz ise sorgu yürütülmez ve hata oluşur.

Otomatik sayı, kısa metin, uzun metin, tarih/saat olarak ayarlanan alanların değerleri çift tırnak içerisine yazılır. Sayı, büyük sayı olarak ayarlanan alanların değerleri çift tırnak içerisine yazılmaz.

Örnek:

insert into otomobil values (“47″,”Volkswagen”,”Golf”,”1.6 FSI”,”Comfortline”,2004, “Benzin+LPG”,”Yarı Otomatik”,124000, “Hatchback”,115,1598, “Önden Çekiş”,”Yeşil”,”Hayır”,”İkinci El”,”Evet”,”08.02.2018″,30500, “Hayır”)

Örnekteki Insert SQL sorgusu çalıştırıldığında 47 numaralı kayıt otogaleri tablosuna eklenecektir.

Görsel_2
Insert Sorgu Sonucu 1

Kullanım Şekli 2: insert into tablo_adi (alan1,alan2,alan3…) values (değer1,değer2,değer3…)

Açıklama: Kullanım şekli 1 yöntemi ile tabloya yeni kayıt eklenirken tüm alanlara veri girişi yapılması gerekmekteydi. Bu kullanım şeklinde ise tablonun yalnızca istenilen alanlarına veri girişi yapılmakta, istenilen alanlar boş bırakılabilmektedir.

Örnek:

insert into otomobil (ilanno,marka,model,seri,yil,yakit,vites,km,kasatipi,motorgucu,motorhacmi,cekis, renk,garanti,durumu,boyadegisen,ilantarihi,fiyat,satisdurumu) values (“48″,”Ferrari”,”FF”,”6.3″,2013, “Benzin”,”Manuel”,20000, “Coupe”,660,6262, “4WD”,”Gri”,”Hayır”,”İkinci El”,”Hayır”,”08.02.2018″,1980000, “Hayır”)

Örnekteki Insert SQL sorgusu çalıştırıldığında 48 numaralı kayıt otogaleri tablosuna eklenecektir.

Insert Sorgu Sonucu 2
Insert Sorgu Sonucu 2

SQL UPDATE SORGUSU

Veri tabanında istenilen tablodaki bir ya da birden fazla kaydın güncellenmesini sağlayan sorgu türüdür. Güncelleme sorgusu için update deyimi kullanılır.

Kullanım Şekli: update tablo_adi set sütun1=değer1, sütun2=değer2… where koşul veya koşullar

Açıklama: Tablodaki bir ya da birden fazla kayda ait istenilen alanların güncellenmesi sağlanmaktadır. Where deyimi ile hangi kayıt ya da kayıtların güncelleneceğine ilişkin şartlar belirlenir. Şayet where deyimi kullanılmayıp koşul belirlenmezse tüm kayıtların istenilen alanları güncellenir. Dolayısı ile güncelleme işlemlerinde where deyimi ile kriterler belirlenmelidir. 

Önemli Not: Yukarıdaki kullanım şeklinde güncellenecek kayıtlar için şart belirtmezseniz yani where ifadesi ile koşul yada koşulları yazmazsanız tablodaki tüm kayıtları güncellemiş olursunuz.

update tablo_adi set sütun1=değer1, sütun2=değer2… 

Örnek:

update otomobil set fiyat=fiyat*1.1 where marka=”Tesla” and durumu=”Sıfır”

Update Sorgusu sonucunda değişen 10 numaralı kayıt.
Update Sorgusu sonucunda değişen 43 numaralı kayıt.

Yukarıdaki sorgu çalıştırıldığında 10 ve 43 numaralı marka alanı Tesla, durumu alanı Sıfır olan araçların fiyatlarına %10 zam yansıtılır.

1432000  ——–   1575200

943000   ——–    1037300

SQL DELETE SORGUSU

Veri tabanında istenilen tablodaki bir ya da birden fazla kaydın silinmesini sağlayan sorgu türüdür. Silme sorgusu için delete deyimi kullanılır.

Kullanım Şekli: delete from tablo_adi where koşul veya koşullar 

Açıklama: Where deyimi ile hangi kayıt ya da kayıtların silineceğine ilişkin şartlar belirlenir. Şayet where deyimi kullanılmayıp koşul belirlenmezse tablodaki tüm kayıtlar silinir. Dolayısı ile silme işlemlerinde where deyimi ile kriterler belirlenmeli ve çok dikkatli olunmalıdır.

Önemli Not: Aşağıdaki şekilde where deyimi ile kriter belirtilmeden delete komutu kullanılmamalıdır.

delete from tablo_adi

Örnek: Aşağıdaki sorgu çalıştırıldığında satisdurumu alanı Evet olan yani satışı yapılan 10 adet kayıt silinecektir.

delete from otomobil where satisdurumu=”Evet”

Delete Sorgu sonucu 10 adet kayıt silindikten sonraki tablo ekran görüntüsü.

SQL SELECT SORGUSU

Veri tabanında istenilen tablodan, istenilen kriterlere uygun kayıtların listelenmesini (seçilmesini) sağlar.

Kullanım Şekli 1: select * from tablo_adi

Açıklama: Tablodaki tüm kayıtları tüm alanları ile birlikte listelenmesini sağlar.

Örnek: select * from otomobil 

Kullanım Şekli 2: select alan1,alan3,alan7… from tablo_adi

Açıklama: Tablodaki tüm kayıtları listeler ancak yalnızca istenilen alanlar görüntülenir.

Örnek: select marka,model,seri,fiyat from otomobil

Kullanım Şekli 3: select * from tablo_adi where koşul yada koşullar

Açıklama: Tablodaki kayıtlardan istenilen kriterlere uygun olanları tüm alanları ile listeler. * karakteri yerine aralarında virgül konularak alan isimleri yazılırsa, kayıtların istenilen alanları listelenmiş olur.

Örnek 1: select marka,model,seri,km,fiyat from otomobil where marka= “Opel “ and model= “Corsa “

Markası Opel ve modeli Corsa olan araçları marka,model,seri,km,fiyat alanları ile listeler.

Örnek 2: select marka,model,seri,km,fiyat from otomobil where (marka=”Opel” and model=”Corsa” and km<=100000) or (marka=”Volkswagen” and model=”Polo” and km<=150000)

Opel marka, Corsa model, 100000 km altı araçlar ile Volkswagen marka, Polo model, 150000 km altı araçları marka,model,seri,km ve fiyat alanlarına göre listeler.

Örnek 3: select * from otomobil where yakit<>”benzin” and marka=”Opel”

Yakıt türü benzin olmayan Opel marka araçları tüm alanları ile birlikte listeler.

Örnek 4: select * from otomobil where (marka=”Tesla” or marka=”Ferrari”) and not durumu=”Sıfır”

Tesla veya Ferrari marka Sıfır olmayan araçları tüm alanları ile birlikte listeler.

Örnek 5: select * from otomobil where fiyat between 20000 and 40000

Fiyatı 20000 ile 40000 arasında olan araçları tüm alanları ile birlikte listeler.

Örnek 6: select * from otomobil where fiyat between 20000 and 40000 order by marka desc

Fiyatı 20000 ile 40000 arasında olan araçları tüm alanları ile birlikte alfabetik Z-A olarak listeler. desc ifadesi yerine asc yazılırsa A-Z şeklinde kayıtlar sıralanır. Sıralama yapılacak alan türü sayı ise desc büyükten küçüğe asc ise küçükten büyüğe sıralama işlemi yapar. Desc ve asc hiç yazılmaz ise varsayılan olarak asc kabul edilir.

Örnek 7: select * from otomobil where paket is Null order by fiyat

Otomobil tablosundaki paket alanı boş (null) olan tüm kayıtları, tüm alanları ile birlikte, fiyat alanındaki sayısal değerlere göre artan olarak listeler.

Örnek 8: select * from otomobil where marka like “t*” order by marka asc

Otomobil tablosundaki marka alanı t harfi ile başlayan araçları, marka alanına göre a-z kuralı ile listeler.

c# access sorguları
c# access sorguları

C# Access Sorguları konusunun uygulama dosyasını bilgisayarınıza indirdikten sonra, bilgilerinizi sınamak için çeşitli sorgu örnekleri yapmaya çalışınız.

Örnek C# Access Sorguları:

1-Fiyatı 50000 değerinden küçük, Dizel yakıt tüketen, kasa tipi Sedan olan araçları Marka alanına göre A-Z kuralına göre sıralayınız.

2-Otomatik Vites, km 50000 değerinden az olan, Hatchback kasa tipine sahip araçları, km alanına göre küçükten büyüğe sıralayınız.

3-Motor gücü 1600 ve üzerinde olan Toyota marka araçların fiyatına %3 oranında zam yapılmasını sağlayınız.

Yukarıdaki 3 örneğe benzer sorgular üretip konuyu öğrenip öğrenmediğinizi test ediniz.

 

Leave a comment