Temel sql komutları ve örnekleri

İNSERT  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 values
RESİM:

 


SELECT  KOMUTU:
S
eçme Komutudur.İstenilen alanları tablodan çeker.
ÖRNEK:
SORU:
Tablodaki tüm bilgileri gösteriniz.
CEVAP:
Select*From odev
RESİM:

 


SORU:
Tablodaki kayıtlı isimleri gösteriniz.
CEVAP:
Select ad from odev
RESİM:

 


SORU:
Tablodakilerin adlarını ve memleketlerini gösteriniz.
CEVAP:
Select ad,memleket from odev
RESİM:

 


SORU:
Tablodakilerin yaşlarını ve adlarını gösteriniz.
CEVAP:
Select yas,ad from odev
RESİM:

 


SORU:
Tablodakilerin ad,yaş ve memleketlerini gösteriniz.
CEVAP:
Select ad,yas,memleket from odev
RESİM:

 


WHERE  KOMUTU:
Şart koşmak için kullanılır.
ÖRNEK:
SORU:
Memleketi bursa olanları gösteriniz.
CEVAP:
Select*from adres where memleket=’bursa’
RESİM:

 


SORU:
18 Yaşında olanları gösteriniz.
CEVAP:
Select*from odev where yas=18
RESİM:

 


SORU:
17 Yaşından büyükleri gösteriniz.
CEVAP:
Select*from odev where yas>17
RESİM:

 


SORU:
17 Yaşından küçükleri gösteriniz.
CEVAP:
Select*from odev where yas <=17
RESİM:


SORU: Yaşı 18 olan Bursalıları gösteriniz.
CEVAP:
Select*from odev where memleket =’bursa’ and yas=18
RESİM:

SORU:
26 Yaşında veya Bursalı olanları gösteriniz.
CEVAP:
Select*from odev where memleket=’bursa’ or yas=26
RESİM:

 


SORU:
15 Yaşındakilerin memleketini gösteriniz.
CEVAP:
Select memleket from odev where yas=15
RESİM:

 


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’)
RESİM:

 


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
RESİM:

 


SORU:
İsmi ‘a’ ile ‘u’ arasındakileri yazınız.
CEVAP:
Select*From odev where ad between ‘a’ and ‘u’
RESİM:

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%’
RESİM:

SORU:
Adında a geçenleri gösteriniz.
CEVAP:
Select*from odev where ad like ‘%a%’
RESİM:

SORU: Sonu a ile bitenleri gösteriniz.
CEVAP:
Select*from odev where ad like ‘%a’
RESİM:

SORU:
Başı 53 ile başlayan telefonları gösteriniz.
CEVAP:
Select*from odev where tel like ‘53%’
RESİM:


AVG  KOMUTU:Ortalama yapmaya yarar.
ÖRNEK:
SORU: Sitedekilerin yaşlarının ortalamasını bulunuz.
CEVAP:
Select avg  (yas) from odev
RESİM:

 


SORU: Bursalıların yaş ortalamasını bulunuz.
CEVAP:
Select avg (yas) from odev where memleket=’bursa’
RESİM:

 


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
RESİM:

 


SORU: Bursalıların en yaşlısının yaşını gösteriniz.
CEVAP: Select max(yas) from odev where memleket=’bursa’
RESİM:


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’
RESİM:

 


SUM  KOMUTU:
Toplama komutudur.Belirtilen alandaki değerleri sayısal olarak toplar.
ÖRNEK:
Select sum (yas) From ‘odev’
RESİM:

 



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
RESİM:

 


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’
RESİM:

 


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
RESİM:

 

  
SORU:
3.Kayıttan itibaren 4 Kayıt gösteriniz.
CEVAP:
Select* from odev limit 3,4
RESİM:

 

 
DELETE  KOMUTU:
Silmeye yarar.
ÖRNEK:
SORU:
Tablodaki Ziya İsimli Kişiyi siliniz.
CEVAP:
delete from odev where ad=’ziya’
RESİM 1:


RESİM 2:

RESİM 3:

 

 


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

Yazar: halilusta

sitemizde 29 yazı eklemiş...

Share
  • izmirlikemal

    Merhaba

    Benim delphi sql konusunda bir sorum olacak.

    SQL konusunda acemiyim. Bunu başdan belirtmek istedim.

    Aşağıdaki kodla yapmak istediğim :

    Klavyeden farklı edit kutusundan 4 tane değer gireceğim.

    Bu değişkenler KckKT, BykKT, KckYT ve BykYT

    Paradox daveritabanı oluşturdum ve KuruTermometre, YasTermometre, DIO değerleri kayıtlıdır.
    Yukardaki değerleri girerek dbgrid de 4 adet değer görmek istiyorum.

    Bu dört adet değer ; kckKT denbüyük, bykKT den küçük ve KckYT den büyük
    ve BykYt den kücük olacak.

    Başka bir anlatımla:

    önce KckKT değeri ile arama yapacak ve bunun karşılığında 2 adet değer getirecek bunlardan birincisi KckYT diğeri BykYT olacak.
    daha sonra BykKT değeri ile arama yapacak ve bunun karşılığında 2 adet daha değer getirecek. buda BykKT ye karşılık gelen BykYT ve KckYt değerleri olacak.
    Sorguyu aşağıda yaptım ama olmadı. Yardımcı olurmusunuz?

    Query1.SQL.Clear;

    Query1.SQL.Add(‘Select * from CCN_Tablo41 Where ((KuruTermometre>=:FKTkck and KuruTermometre=:FYTkck and YasTermometre<=:FYTbyk) and DIO=:fAT2)');

    Query1.ParamByName('FKTkck').AsString:=KckKT;

    Query1.ParamByName('FKTbyk').AsString:=BykKT;

    Query1.ParamByName('FYTkck').AsString:=KckYT;

    Query1.ParamByName('FYTbyk').AsString:=BykYT;

    Query1.ParamByName('FAT2').AsString:=Degskn;

    Query1.Open;

  • volkan

    Eliniz kolunuz ağrımasın, çok teşekkürler.

  • dahiweb

    merhabalar

  • Merhabalar,
    yazınız çok güzel, elinize sağlık. Benim soru şu şekilde:
    Üyelerin şifrelerini ve kullanıcı adlarını md5 ile şifreliyorum(tek başına yeterli olmadığını biliyorum , tuzlama ve birkaç şifreleme daha yapmak gerekiyor, sorunumu halledersem onu da yapmaya çalışacağım.)
    Yaptıklarım sırayla şöyledir:
    1)yeni kullanıcı açarken md5 ile şifreliyorum.
    2) kullanıcı girerken md5 ile kontrol ediyorum.
    bunun sonucunda siteye giriyor.

    sorun 1:Kullanıcı şifresini güncellerken, (bu işlemi şimdilik ben yapıyorum), değişiklik formunda 9 yıldız olması gereken yer, 32 yıldız gözüküyor, yani md5 ‘li hali görüntüye geliyor, 9 yıldız gözükmesi için geri dönüşü nasıl olmalı?

    sorun 2:excelden şifreleri aktardığımda, update de md5’e çevirince şifreleri tanımıyor,
    bunu nasıl yapabilirim?

    Fikrinizi söylerseniz sevinirim. Teşekkürler

    İsmet Cemal Himmetoğlu

    • İsmet Bey Merhabalar…
      1.Cevap Malumunuz olduğu üzere md5 yaptığınızda girdiğiniz şifre ne uzunlukta olursa olsun 32 karaktere çevriliyor. Siz güncelleştirme yaparken kullanıcıya eski şifresini gösterme imkanınız olmaz. Kullanıcıya yapabileceğiniz şey: “mevcut şifre”, “şifre” , “şifre tekrar” demek olabilir…
      2.Cevap Excel sorunuzu ve sorununuzu anlamadığımdan cevap veremiyorum.. İyi günler

  • Elansar

    teşekkürler Çok Faydalı Bilgiler Fakat sorunum Şu Hocamız Bize Şunu Araştırın Dedi Ve Her Nereye Bakarsam Bakıyım Bulamadım Belki Çok basit Bişey Ama İnsan Bilmeyince Çok Zor Geliyo Yardımcı Olursanız Çok Sevinirim

    125 numaralı öğrencilerin soyadını Büyük harfe çeviriniz.

    büyük bi ihtimalle Update kodu fakat Çevirmek için ne olması gerekiyo yani şurası kafamda

    UPDATE Ogrenci
    SET ogr_soyadi = Kaplan
    WHERE (ogr_no = 125)

    ama burda nasıl bi değişiklikle soyadı büyük yazar

    • eğer mysql tarafında yapmak istiyorsan UCASE() fonksiyonunu kullanacaksın, bu fonksiyon otomatik olarak harfleri büyütür, php tarafında yapmak istersen ucwords() fonskiyonunu kullanırsın

  • elinize sağlık hocam

  • zafer

    gerçekten çok süper olmuş elinizw ve emeğinize saglık işiniz rast gelsin

  • alperen

    sql de onegelen tablosundan 1 olan sondan 3 veriyi çektik ve ayrı ayrı yerlerde kullanmak istiyoruz

    yani şöyle bi durum varmıdır
    $onegelen[1][“veri”] 1. satır
    $onegelen[2][“veri”] 2. satır
    $onegelen[3][“veri”] 3. satır

    gibi
    while la yapınca alta doğru sıralıyor benim amacım farklı yerlerde kullanmak

  • yusuf

    Son 30 güne ait dolar kur bilgilerini
    aşağıdaki formatta görüntüleyen SQL sorgusunu hazırlayınız.
    Kur değeri hangi gün en yüksekse o günün grafiği sağa doğru en uzun şekilde (20 çubuk) gösterilmelidir.
    Diğerleri en uzun olana kıyasla daha kısa gösterilmelidir.

    BÖYLE BİR SORUM VAR CEVAPLAYAN VEYA YARDIMCI OLACAK ARKADAŞ VAR MI

  • AHMET

    Allah razı olsun. Temel oluşması açısından güzel bir çalışma

  • EMRULLAH

    uptadate yazmışım özür dilerim update olacaktı…

  • EMRULLAH

    Eline sağlık hocam… bol örnekli bir anlatım olmuş… ayrıyetten uptadate ve join komutları eklense dafa fazla faydalı olur… iyi çalışmalar

  • Uğraşlarınız için teşekkürler. Biraz daha ağır örnekler eklenebilir.

  • emre

    Emekleriniz için teşekkürler

  • ibrahim

    gerçekten çok açıklayıcı ve anlaşılır olmuş emeğinize sağlık…

  • sidar kevser

    gerçekten içerik konu anlatımı diğer siteler göre oldukça üst seviyede,girmiş olduğum sınav için cok yardımcı oldu

  • Mustafa ÇAKIR

    Yıllardır sql komutu yazıyorum. İnternetten dökümanlara bakıyorum böylesini ilk defa gördüm. Mükemmel bir çalışma olmuş. Tebrik ederim.

  • Mükemmel !!! sınavdan önce çok yardımcı oldunuz.
    Elinize sağlık…

  • sedat alkan

    yüreğine sağlık abim güzel olmuş

  • burak topoğlu

    güzel güzel

  • bu site işime çok yarayacakk

  • Normalde yorum yapmama ama yeminle gezdiğim siteler arasında en iyisi çok teşekkürler.. 🙂

  • suzan cifci

    ELİNİZE SAĞLIK HAZIRLAYANDAN ALLAH RAZI OLSUN TUTTUĞU ALTIN OLSUN

  • suzan cifci

    çok iyi bir site yarın sınavım var ne güzel çalışıyorum…

  • eda

    güncelleme komutundan biraz daha örnek olabilirdi.

  • Pingback: Temel Sql Komutları « İNTERNET PROGRAMCILIĞI()

  • murat

    ÇOK GÜZEL BİR ÇALIŞMA OLMUŞ ELİNİZE SAĞLIK 🙂

  • Mehmet Demir

    çok güzel bir çalışma olmuş. ellerinize sağlık

  • yıldıray

    emre ad=’emre’ and soyad=’demir’ gerek yok

    SELECT * FROM MUSTERİLER WHERE MUSTERİ_NO=57 yeterlidir çünükü müsteri no=57 dediğinde 57 nolu kişi gelir

  • Açıklama : Aşağıdaki cevap veritabanındaki adı emre, soyadı demir ve müşteri numarası 57 olanları listeler ..

    Cevap : select * from musteriler where ad=’emre’ and soyad=’demir’ and musterino=’57’

  • Ahmet Kurt

    S.a
    Bende bi Database Var.
    Tablo = Musterıler
    Kolonlar = Ad,Soyad,MusterıNo

    Kardeş benim yapmak istedigim şey, Musterıler Tablosundakı bi müşteride AD-SOYAD-MUSTERIno ları aynı olanları listelemek ıstıyorum. ama birtürlü yapamadım bi yardım edermisin nasıl yapabılırım :S

    Örnek =

    Adı = 57 Soyadı = 57 Musterı_No =57.

    ben bu şekilde olanları listelemek istiyorum bi yardım ederseniz sevinirim :S

  • belgin

    çok açıklayıcı ve anlaşılır olmuş, teşekkürler..

  • Emre Demir

    Güzel ve yararlı bir konu

  • Işık

    Gerçekten çok güzel bir yazı olmuş emeğiniz için teşekkürler