06.19.11

Temel Sql Komutları-1

merhaba arkdaşlar …veritabanına bir giriş yapalım en basitinden en zora doğru…

// TblCaddeler tablosunun tüm kayıtlarını listeler…

1
SELECT *FROM TblCaddeler;

// eğer tablomuzda binlerce kayıt varsa listelemesi uzun sürecektir. bizde istediğimiz kadar kayıtları listeleyebiliriz. ben deneme olarak ilk 1000 kaydı listeledim böylelikle kısa zamanda kayıtlarımızı listeledi.

1
SELECT TOP 1000 *FROM TblCaddeler;

burada tablomuzda istediğimiz alanları listeleyebilriiz.. ben sadece iladi,ilçeadi,mahalleadi listelemek istiyorum diğer alanları listelemek istemiyorum *form yazmadan form yazıp direk alanlarımı yazarım böylelikle istediğim alanları listelemiş olurum.

1
SELECT İlAdı,İlçeAdı,MahalleAdı FROM TblCaddeler

DISTINCT komutu alanda bulunan tekrarsız kayıtları listeler.. tüm türkiyenin il adları bununan tabloda istanbul kadıköy istanbul üsküdar diye ilçe mahalle sayısı kadar istanbul tekrarlar ama biz tekrarsız kayıtları istiyorsak DISTINC komutunu kullanırız aşağıdaki komut tüm il adlarını tekrarsız getirir..

1
SELECT DISTINCT İlAdı FROM TblCaddeler

where bizim şart cümlemiz.SELECT *from TblCaddeler buraya kadar tblcaddeler tablosundaki büyün kayıtları ve kolunları listeler ama where İlAdı=’istanbul’ dersek sadece iladi kolonunun istanbul olanını listeler. istersek *from demeyip sadece istediğimiz alanları da listeleyebilirdik. ilceadi,iladi,from gibi..

1
SELECT *FROM TblCaddeler WHERE İlAdı='istanbul'

burada istersek and veya or operatörünü de kullanabiliriz. alttaki kodda tabloda getirilecek kayıtlara şöyle bir komut veriyorum. hem iladi istanbul and ve demek hem de ilçe adı ümraniye olan kayıtları getir dedim.burada bana istanbulun ilçesi olan ümraniyenin içindeki belirtilen kayıtları getirir.

1
SELECT *FROM TblCaddeler WHERE İlAdı='istanbul' AND İlçeAdı='ümraniye'

Parantez içi kullanım da aynı şekilde yapıyoruz. bildiğiniz gibi matematikte öncelik parantez içidir. burada da durum aynı hem ilçe adı ümraniye ve cadde adı çakır sokak olacak hem de iladı istanbul olacak. burada 3 şart var gibi gözükse de aslında 2 şart var. parantez içindeki ifadeyi 1 şart sayıyoruz. nasıl .. şöyle ki parantez içindeki 2 ifadenin 1 şartı bile olmassa yani cadde adı alanımda çakır sokak adı altında bir tablo yoksa ama ilçe adında ümraniye olsa bile o paratez içindeki ifade yanlış döner and diyorum çünkü ve yani or desem veya anlamını taşıyor o zaman yine bir şartı bile kabul etse kayıtlar geliyor. veya diyorum çünkü..

1
SELECT *FROM TblCaddeler WHERE İlAdı='istanbul' AND (İlçeAdı='ümraniye' AND CaddeAdı='Çakır Sokak')

order by komutu asc ve desc parametrelerini alır.hiçbişi yazmassan asc olarak algılar. asc – büyükten küçüğe desc – küçükten büyüğe anlamını taşır. aşağıdaki kodda listelenen mahalle adı kayıtlarında armutlu ve besköy kayıtlarının sıralanılışı asc yazdığım için armutlu ve besköy olarak sırası ile listeler. asc yerine desc yazsaydım yani küçüten büyüğe besköy ve armutlu olarak listeler. b ve a harflerine dikkat edelim bu sıralama sayılar için de geçerlidir

1
2
SELECT *FROM TblCaddeler WHERE İlAdı='istanbul' AND (İlçeAdı='ümraniye' AND CaddeAdı='Çakır Sokak')
ORDER BY MahalleAdı ASC

şimdi gelelim tablomuza kayıt eklemeye..ekleme işlemlerini insert komutu ile yapıyoruz..sayısal alanlara değer gönderirken ” tek tırnak kullanılmaz

1
INSERT INTO Personel(adi,soyadi,telefon,mail) VALUES ('mesut','demirci',50511144,'deneme@hotmail.com')

güncelleme işlemlerinde güncellemek istediğimiz alanlar = yeni değer şeklinde girdikten sonra where şartını belirterek hangi kaydın güncellenmek istediğini belirtiriz..aşağıdaki kodda urunler tablosunda id=1 değeri olan adı karpuz adet 52 değiştirmek istiyorum

1
UPDATE urunler SET ad='karpuz',adet=52 WHERE id=1

Silme işlemlerinde de durum aynı…aşağıdaki kodda id=1 olan kaydı siliyoruz. where yazmassanız tüm tablodaki kayıtları siler. onun için delete komutunu kullanmak için çok dikkatli olmalısınız.

1
DELETE FROM urunler WHERE id=1

Bu konu bittiyse sql komutları konumuzun 2.bölümüne geçebilirsiniz.

Bir Önceki Sql Konusu