Üye Kayıt Üye Giriş

SQL


SELECT KOMUTU

Select komutu ile bir tablodan bize gerekli olan bilgileri alabiliriz.
Örnek olarak SELECT komutunu asagidaki gibi kullanabiliriz.

SELECT *
FROM musteri;


Bu komut, musteri tablosundki tüm bilgileri listeleyecektir.
Bazi durumlarda tablodaki tüm alanlara degil sadece bazi alanlara ihtiyacimiz olabilir. Bu durumda bu komutu kullanabiliriz.

SELECT musteri_ad,sehir
FROM musteri;


Musteri tablosundaki musteri_ad ve sehir alanlarini listeleyecektir.

TABLOYA VERİ EKLEME

SQL'de var olan bir tabloya veri ekleme komutu INSERT'dir. Eger birden fazla veri ekleyeceksek veri sayisi kadar INSERT komutu kullanmaliyiz. Örnek olarak musteri tablosuna veri ekleyelim.

INSERT INTO musteri (musteri_ad, sigorta_no, adres, sehir)
VALUES('Mehmet S Batal' , '19006019' , 'Sisli' , 'Istanbul');


TABLOLARA VERİ YÜKLENMESİ


SQL dilinde bir tabloya veri yükleme komutu :

INSERT INTO/VALUES seklindeki komuttur.

Örnek:
Müsteri tablosuna ve mus_hesap tablosuna veri yükleyelim

INSERT INTO musteri
VALUES ("M. Selcuk Batal" , "61" , "Refahiye" , "Erzincan");

INSERT INTO mus_hesap
VALUES ("1471" , "100" , {05/02/03});


TABLODAKİ VERİLERİ GÜNCELLEME İŞLEMİ


SQL 'de bir tablonun satirlarindaki verilerde güncelleme yapmak. icin kullanacagimiz komut UPDATE komutudur.
Ornegin tüm musterilerin hesabindan Yillik %10 vergi ücretini düselim:

UPDATE hesap
SET Kalan_TL=Kalan_TL * 0.90;


Güncelleme islemini bir kosula bagli olarak ta gerceklestirebiliriz.
Örnegin sigorta numarasi 6019 olan müsteri ayni sehir icinde baska bir adrese tanimli olsun. Simdi bu kayit üzerinde adres güncellemesini yapalim:


UPDATE musteri
SET adres='Sisli'
WHERE sigorta_no='6019';

TABLODAKİ SATIRLARI SİLME

SQL 'de bir tablonun satirlarini silme komutu DELETE"dir. Örnegin müsteri tablosunun satirlarini(kayitlarini) silelim.

DELETE FROM musteri;


Eger ifadeyi yukaridaki gibi kosulsuz olarak kullanirsak tablonun tüm satirlarini siler. Simdi DELETE komutunu bir kosula bagli olarak kullanalim:

DELETE FROM musteri
WHERE sigorta no=6019
;

Yukaridaki ifadede müsteri tablosundan sadece sigorta numarasi 6019 olan satir silinir.

TABLO ADINI DEĞİŞTİRME

SQL 'de ALTER TABLE komutu icerisinde RENAME TABLE sözcügünü kullanarak bu islemi gerceklestirebiliriz. Örnegin islem tablosunun adini process olarak degistirelim:

ALTER TABLE islem
RENAME TABLE process;

TABLO SİLME İŞLEMİ

Bu amacla DROP TABLE komutu kullanilmalidir. Yanliz bir tablo silindiginde bu tabloya ait kopya(es) tablolar, indeksler de silinir. Örnegin hesap tablosunu silelim:

DROP TABLE hesap;

 


KOŞULLU LİSTELEME VE SIRALAMA

Su ana kadar verdigimiz tablodan bilgi listeleme ya da siralanmis olarak listeleme islemlerinde her hangi bir kosul belirtmemistik. Dogal olarak uygulamalarin pek cogunda tablolardaki verilen tümüne birden ihtiyac olmayabilir. Örnegin bir uygulamada sadece maasi belirli bir degerin üstünde olan personelin adlarina göre sirali olarak listelenmesi istenebilir.
Bu tür kosullu listeleme ya da siralama ihtiyaci belirince SELECT komutu icinde WHERE komutu kullanarak bu ihtiyaci karsilayabiliriz. Örnek:

SELECT * FROM islem WHERE hesap_no>350;


Yukaridaki ifadede islem tablosunda hesap numarasi 340'dan büyük olanlar listelenecektir.

WHERE komutu ile mantiksal operatörlerden yararlanarak birden fazla kosula göre de islem yapabiliriz. Örnek:

SELECT * FROM islem WHERE hesap_no>340 AND islem_no>50;

Ifadesi, hesap_no'su 340'dan büyük olan ve ayni zamanda islem nosu 50'den büyük olan satirlari listeleyecektir.

 


TABLOYA KOLON EKLEME

SQL 'de ALTER TABLE komutu icerisinde ADD sözcügünü kullanarak bu islemi gerceklestirebiliriz. Örnegin hesap tablosuna hesap acilis tarihi adli bir sutun ekleyelim:

ALTER TABLE hesap ADD hesap_acilis_tar DATE;

KOLON ADINI DEĞİŞTİRME

SQL'de ALTER TABLE komutu icersinde RENAME sözcügünü kullanarak bu islemi gerceklestirebiliriz. Örnegin müsteri tablosundaki adres kolonunun adini müsteri adresi olarak degistirelim:

ALTER TABLE musteri
RENAME adres mus_adres;


TABLODAN KOLON SİLME

SQL 'de ALTER TABLE komutu icerisinde DROP sözcügünü kullanarak bu islemi gerceklestirebiliriz. Örnegin biraz önce hesap tablosuna ekledigimiz hesap acilis tarihi adli bir sutunu silelim

ALTER TABLE hesap
DROP hesap_acilis_tar;


Ayni anda birden fazla kolonu silebiliriz. Örnegin hesap tablosundan hesap acilis tarihi ve hesap numarasi kolonlarini silelim:

ALTER TABLE hesap
DROP hesap_acilis_tar, hesap_no;

SQL SONUCUNU FARKLI BİR TABLODA SAKLAMAK

Bir SELECT komutu sonucu eIde edilecek bilgilerin, gecici olarak baska bir tabloda saklanmasi mümkündür. Bu amacla SELECT komutu ile birlikte SAVE TO TEMP sözcügü kullanilmalidir. Örnegin, hesap tablosundan kalan parasi yüz milyonun üzerinde olanlari bulalim ve deneme isimli baska bir tabloda saklayalim:

SELECT *
FROM hesap
WHERE Kalan_TL>100000 SAVE TO TEMP deneme;


Burada üretilen bilgilerin gecici degil de kalici olmasi amaciyla yukaridaki ifadenin sonuna KEEP sözcügü eklenmelidir:

SELECT *
FROM hesap
WHERE Kalan_TL>100000 SAVE TO TEMP deneme KEEP

ORDER BY

Bir SQL ifadesinde listeleme isleminde bilgilerin belirtilen bir alana göre siralanmis olarak görüntülenmesi amaciyla SELECT komutu ile birlikte kullanilir. Örnegin mus_hesap adli tabloyu tarih alanina göre siralanmis olarak listelemek istersek asagidaki gibi bir SELECT ifadesi kullanmak gerekecektir.

SELECT sigorta_no,hesap_no,tarih
FROM mus_hesap
ORDER BY tarih ASC;


Yukaridaki ifadede ASC (ascending) sözcügü artan anlamindadir. Veriler artan degilde azalan sirada istense idi, ASC sözcügü yerine azalan anlamina gelen DESC(descending) sözcügü kullanilabilir. Default deger ASC'dir.

LIKE KOMUTU

Karakter türü bilgi icinde arama yapma islemini gerceklestirmek icin kullanilir.
Musteri tablosu icerisinde adres alani 50 karakter uzunlugunda tanimlanmis olsu. Adres bilgisinin asagidaki gibi yüklenmis oldugunu yarsayalim:

"Ataonal Cad. 78 Sok. 18-1 Beyoglu - Taksim"

Burada adres icinde semtin de belirtildiginde ve bunun ayri bir sütün olarak tanimlanmadigina dikkat edelim. Simdi bu tür bir tabloda belirli bir semmte ikamet eden personeli listelemek icin semt alanini adres alani icinde aramak gerekecektir. Bu islemi SQL'de LIKE komutu ile gerceklestirebiliriz.

SELECT *
FROM musteri
WHERE adres LIKE '%TAKSIM%';


Bu komut ile adres alaninda "Taksim" sözcügü yazan tün satirlari listeleyecektir.


DISTINCT KOMUTU

Bir SQL ifadesinde tablodaki tekrarli satirlarin listeleme sirasinda birkez yazilmasi icin SELECT komutu icinde DISTINCT komutu kullanilmasi gerekir. Örnek:

SELECT DISTINCT musteri_ad FROM musteri;

Örnegin ayni isimde bir cok musteri olabilir DISTINCT komutu kullanilmasi durumunda bu ekrana bir kez yazilacaktir.


BİRDEN FAZLA ALANA GÖRE SIRALAMA

Tablo icindeki verileri istersek birden fazla alana görede siralayabiliriz. Örnek olarak musteri tablosunu musteri adi ve sehir'e göre siralayalim.

SELECT musteri_ad, sigorta_no, adres, sehir
FROM musteri
ORDER BY musteri_ad, sehir;


Bu SQL ifadesine göre listelenecek alanlar öncelikle musteri adina göre siralanacaktir. Sadece musteri adi ayni olan satirlar kendi aralarinda sehir alanina göre siralanacaktir.

BETWEEN KOMUTU

Son örnekte AND operatörü ile sigorta numarasi 7000 ile 9000 arasinda olanlar listelenmisti. Bu amacla BETWEEN sözcügü de kullanilabilir.

SELECT *
FROM musteri
WHERE sigorta_no BETWEEN 7000 AND 9000;


Bu ifade ile musteri tablosundan sigorta numarasi 7000 ile 9000 arasinda Olan (7000 ve 9000 dahil) müsterilerin bilgileri listelenir.

AVG FONKSİYONU

Belirtilen alan üzerinde aritmetiksel ortalama islemini yapar. Örnegin hesap tablosundan musterilerin kalan paralarinin ortalamalarini alalim, Bu amacla kullanilacak SQL ifadesi asagidaki gibidir:

SELECT AVG (Kalan_TL)
FROM hesap;


COUNT FONKSİYONU

Tablo icerisinde herhangi bir sayma islemini gerceklestirir. Örnegin müsteri tablosundan kayitli müsteri sayisini bulalim. Bu amacla kullanilacak SQL ifadesi asagidaki gibidir:

SELECT COUNT (*)
FROM musteri;


yada

SELECT COUNT(*)
FROM hesap
WHERE Kalan_TL>100000;


Kalan parasi 100000'den fazla olanlari say.


MAX FONKSİYONU

Belirtilen alan üzerindeki en büyük degeri bulur. Ornegin hesap tablosundan müsterilerin kalan paralarindan en büyük olanini listeleyelim. Bu amacla kullanilacak SQL ifadesi asagidaki gibidir:

SELECT MAX (Kalan_TL)
FROM hesap;


MIN FONKSİYONU

Belirtilen alan üzerindeki en kücük degeri bulur. Örnegin hesap tablosundan müsterilerin kalan paralarindan en kücük olanini listeleyelim. Bu amacla kullanilacak SQL ifadesi asagidaki gibidir:

SELECT MIN (Kalan_TL)
FROM hesap;

SUM FONKSİYONU

Fonksiyonun agumani olarak verilen alan ile iliskili olarak toplama islemi gerceklestirilir. Örnegin hesap tablosundaki tüm musterilerin kalan paralarinin toplamini alalim:

SELECT SUM(Kalan_para)
FROM hesap;


Bir baska örnegimizde hesap numaralari 351'den büyük olan müsterilerin paralarinin toplamini bulalim:

SELECT SUM(Kalan_para)
FROM hesap
WHERE hesap_no>351;


IN OPERATÖRÜ

Su ana kadar ögrendigimiz bilgilerle örnegin hesap tablosundan hesap numarasi 501 veya 310 olanlari asagidaki ifade ile listeleyebiliriz:

SELECT *
FROM hesap
WHERE hesap_no=310 OR hesap_no=501;


Bu ifade ile yapilan islemi gerceklestirmenin baska bir yolu da asagidaki gibi IN operatörünü kullanmaktir.

SELECT *
FROM hesap
WHERE hesap_no IN(310,501);


Burada IN operatörü belirtilen küme icindeki elemanlardan biri ile uyusan bir hesap numarasi bulunca o hesap numarasinin bulundugu satirdaki bilgileri listeleyecektir.

Bilgisayar Dershanesi Ders Sahibi;
Bilgisayar Dershanesi

Yorumlar

Yorum Yapabilmek İçin Üye Girişi Yapmanız Gerekmektedir.

ETİKETLER