Google da gezinirken güzel bir site ve güzel bir paylaşıma rastladım. Benzer bilgileri sayfamda paylaşmayı uygun gördüm. Çoğu zaman SQL komutlarına ihtiyacım oluyor. Ne zaman ihtiyacım olsa o an gerekli olan kodun kullanımını bi an için hatırlayamıyorum. Örnek bir koda ihtiyacım oluyor.
En iyisi sayfamda bulundurmak diye düşündüm 🙂
İnser Komutu :
Veri Tabanındaki tabloya bilgi kaydetmek için kullanılır.
ÖRNEK :
SORU: Rıza adlı kişiye ait bilgileri kaydediniz.
CEVAP:İnsert into adres value
SELECT KOMUTU: Seçme Komutudur.İstenilen alanları tablodan çeker.
ÖRNEK:
SORU: Tablodaki tüm bilgileri gösteriniz.
CEVAP: Select*From odev
SORU: Tablodaki kayıtlı isimleri gösteriniz.
CEVAP: Select ad from odev
SORU: Tablodakilerin adlarını ve memleketlerini gösteriniz.
CEVAP: Select ad,memleket from odev
SORU: Tablodakilerin yaşlarını ve adlarını gösteriniz.
CEVAP: Select yas,ad from odev
SORU: Tablodakilerin ad,yaş ve memleketlerini gösteriniz.
CEVAP: Select ad,yas,memleket from odev
WHERE KOMUTU:Şart koşmak için kullanılır.
SORU: Memleketi bursa olanları gösteriniz.
CEVAP: Select*from adres where memleket=’bursa’
SORU: 18 Yaşında olanları gösteriniz.
CEVAP: Select*from odev where yas=18
SORU: 17 Yaşından büyükleri gösteriniz.
CEVAP: Select*from odev where yas>17
SORU: 17 Yaşından küçükleri gösteriniz.
CEVAP: Select*from odev where yas <=17
SORU: Yaşı 18 olan Bursalıları gösteriniz.
CEVAP: Select*from odev where memleket =’bursa’ and yas=18
SORU: 26 Yaşında veya Bursalı olanları gösteriniz.
CEVAP: Select*from odev where memleket=’bursa’ or yas=2
SORU: 15 Yaşındakilerin memleketini gösteriniz.
CEVAP: Select memleket from odev where yas=15
IN KOMUTU:İçinde demektir.
ÖRNEK:
SORU: Bursalı Ve İznikli olanların adlarını ve yaşlarını gösteriniz.
CEVAP: Select ad,yas from odev where memleket in(‘bursa’,’iznik’)
BETWEEN KOMUTU:Arasında demektir.
ÖRNEK:
SORU: 17 ile 29 Yaş arasındakileri gösteriniz.
CEVAP: Select*From odev where yas between 17 and 29
SORU: İsmi ‘a’ ile ‘u’ arasındakileri yazınız.
CEVAP: Select*From odev where ad between ‘a’ and ‘u’
LİKE KOMUTU: Karakter türü bilgi icinde arama yapma islemini gerceklestirmek icin kullanilir.
ÖRNEK:
SORU: Adı h ile başlayanları gösteriniz.
CEVAP: Select*from odev where ad like ‘h%’
SORU: Adında a geçenleri gösteriniz.
CEVAP: Select*from odev where ad like ‘%a%’
SORU: Sonu a ile bitenleri gösteriniz.
CEVAP: Select*from odev where ad like ‘%a’
SORU: Başı 53 ile başlayan telefonları gösteriniz.
CEVAP: Select*from odev where tel like ’53%’
AVG KOMUTU:Ortalama yapmaya yarar.
ÖRNEK:
SORU: Sitedekilerin yaşlarının ortalamasını bulunuz.
CEVAP: Select avg (yas) from odev
SORU: Bursalıların yaş ortalamasını bulunuz.
CEVAP: Select avg (yas) from odev where memleket=’bursa’
MAX KOMUTU:En büyük değeri gösterir.
ÖRNEK:
SORU: En yaşlı kişinin yaşını gösteriniz.
CEVAP: Select max(yas) from odev
SORU: Bursalıların en yaşlısının yaşını gösteriniz.
CEVAP: Select max(yas) from odev where memleket=’bursa’
MİN KOMUTU:En küçük değeri gösterir.
ÖRNEK:
SORU: Bursalıların en küçüğü kaç yaşındadır.
CEVAP: Select min(yas) from odev where memleket=’bursa’
SUM KOMUTU: Toplama komutudur.Belirtilen alandaki değerleri sayısal olarak toplar.
ÖRNEK: Select sum (yas) From ‘odev’
AS KOMUTU: Alanları Yeniden adlandırmak için kullanılır.
ÖRNEK: Select sum (yas) as yaslar_toplami from ‘odev’
DİSTİNCT KOMUTU: Aynı alanlardan bir tanesini göstermeye yarar (Benzersizleri gösterir).
ÖRNEK:
SORU: Memleketleri Tekrarsız gösteriniz.
CEVAP: Select distinct (memleket) FROM ‘odev’
ORDER BY KOMUTU:Sıralama yapmaya yarar.
ÖRNEK:
SORU: Yaşları küçükten büyüğe doğru sıralayınız.
CEVAP: SELECT* from odev order by yas
DESC KOMUTU:Büyükten küçüğe sıralama yapmaya yarar.
COUNT KOMUTU:Count komutu saymaya yarar.
ÖRNEK:
SORU: Tabloda kaç tane Bursalı vardır.
CEVAP: Select count (memleket) from odev where memleket=’bursa’
LİMİT KOMUTU: Ekranda kaç tane sonuç gösterileceğini ayarlar.
ÖRNEK:
SORU: Tablodaki 5 kaydı gösteriniz.
CEVAP: Select*from odev limit 5
SORU: 3.Kayıttan itibaren 4 Kayıt gösteriniz.
CEVAP: Select* from odev limit 3,4
DELETE KOMUTU:Silmeye yarar.
ÖRNEK:
SORU: Tablodaki Ziya İsimli Kişiyi siliniz.
CEVAP: delete from odev where ad=’ziya’
UPDATE KOMUTU:Tablodaki Bilgileri Güncellemeye yarar.
ÖRNEK:
SORU: Tablodaki Rıza isimli kişinin yaşını 20 yaş arttırınız.
CEVAP: Update odev set=yas+20 where ad=’riza’
ÖRNEKLER:
SORU: En Çok okunan 5 haberi gösteriniz.
CEVAP: Select baslik from haber order by hit desc limit 5
SORU: En son eklenen 5 Haber başlığını gösteriniz.
CEVAP: Select baslik from haber order by no desc limit 5
SORU: En son eklenen 9 haberin başlığını,özetini,resmini ekranda gösteriniz.
CEVAP: Select baslik,ozet,resim,hit.from haber order by no desc limit 9
SORU: Haber Kategorilerini sırasıyla ekranda yazdırınız.
CEVAP: Select no,kategori from haber_kategori order by sira
SORU: Aynı kategorideki haberlerden rastgele 5 tane başlığı gösteriniz.
CEVAP: Select baslik from haber where kategori =1 order by rand () limit 5
SORU: Tüm haber başlıklarını gösteriniz.
CEVAP: Select* from haber
Hazırlayan:HALİL İBRAHİM USTA
Kaynak : http://www.dahiweb.com/temel-sql-komutlari-ve-ornekleri
meyveci
Hocam sayac tablomda 3 adet sütun var.
Tarih(datetime), IPno(nvarchar(50), Toplam(int) şeklinde. Sayac şu şekilde çalışıyor. Gelen IpNo yoksa yeni satır ekliyor varsa Ilgili Ip adresinin karşısında Toplam sütununa +1 ekliyorum.
Kayıtları listelerken günlük tekil, günlük çoğul, dün tekil, dün çoğul şeklinde sqlden veriyi çekip labellere aktarabiliyorum. Ancak tarihleri süzüp en çok tekil giriş yapılan tarihte count sayısını alamıyorum. Yardımcı olabilir misiniz?
Not: Tabloyu ilk oluşturduğumda tarih (date) idi. İlk kayıtlar ör: 2016/08/15 00:00:00 şeklinde geliyordu. Bu kayıtlarda
— select top 1 tarih = convert(varchar(20),Tarih,106) , count(Toplam) grupla
–from Sayac
–group by tarih
–order by grupla desc
Stored Procedures ile kaydı çekebiliyorum. Ancak datetime ile kayıt satır toplamını alamıyorum.