Menü

Anket

Hangi Takımı Tutuyorsunuz
Fenerbahçe (%22,2)
Galatasaray (%50)
Beşiktaş (%11,1)
Sivas Spor (%5,55)
Trabzon (%11,1)

Toplam Oy: 18

Tüm Anketler

Takvim

« Ocak - 2009

»

PT SL ÇŞ CM CT PZ
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

İstatistikler

 Toplam Hit: 18676
 Sitede Aktif: 1
 Ip: 38.103.63.55
 Browser: Default - 0.0
 Toplam Kategori: 22
 Toplam Blog: 305
 Toplam Yorum: 0
 Toplam Resim: 5
 Toplam Mesaj: 1

Etiket Bulutu

25 3 3 boyutlu 3.0 301 360 5 açıklamalar Adsense ADSL Affiliate Afilli Akıllara akıllı aksesuar akvaryum alarm Alırken Alışveriş alkolmetre anahtarlık Anakart Anlatım Anlatımı araba arabası Araçları arama araştırma aromalıi oksijen Arttırın aşırı Atma AVPO.EXE Ayarları aynas aynası ayrıntılı bağlantıları balık balon banklar banyo başlığı bebek besleme beyin bıçak biçaklıi saldırıya bilardo bilezik Bilgileri Bilgisayar bilgisayarı bilgisayarın bilgisayarınızı Bilgisayarınızın Bios birincisi bisiklet biten biyonik blog bluetooth Body bomba boot Borç boşa boutunu boyutlu bozulan böcek Bölümleri bulan Bulma bulmak Bux Bux.To buzdolabı cam casus cep Cevaplar cismin Cli.exe Cpanel CPU çalar çalışan Çalışır Çalışma çatal çay çeviri çıkartması çok Çözülemeyen çözümler çubuk dağınık dağınıklık dayanıklı DebugMode defter değiştiren deneme derece Detaylı dijital Dikkat dilde dinç dişe Dizin DOCTYPE dokunmadan dönen dönüştürücü duman duş duşta duymayan dünyanın dürbün düşünen düzeltilir düzenlemek dvd eco eğimli Eklentisi Ekran ekstra elastik elektriğiniz elektrik elektronik elfeneri email en enerji enerjili Engelleme esnek estetik eşya eşyaları Etiketleri evrensel fan fanın fare fav.or.it fıskiye flip Form Format fraktal gece geleceğinize gemisi gitmesin gizli Google Gönderme görünümlü görüş gösteren gözlüğü gözlük gücüne gülücük güneş Güvenliği Güvenliğini hakia Hakkında halı harikaları haşere Hatası havaya Head hizmetinde hologram HTML HTTP ı Nedir Input Internetten ışığından ışık ışıklı ışıldamalı için içini sabun iğne ihtiyaç ilacı ile ilginç ilk imha inanılaz inanılmaz inceleme internet internete intranet ister İşlemc kabin kablosuz kağıdı kağıt Kaldırma kalem kalemi kamera kameralı kaminası kapağında kapatın kapı Karakte karanlıkta karışturmaya karşı Kart kartı Kartına kasa kaşık kaşıkla katlanabilir kaybetmeyen kaza kazanç kazanma kazanmanın kel kelebek kelime kelin kendini kesintisiz kıble kısaltmalar kitap klavye kol kolay koltuk korkusu kosaati Kota köpek Kredi Kredi Kartı Kullanarak kullanılan Kullanışlı kullanmak kumanda küp lamba lambalar lambaları laptop Lcd linkler Mantığı Marketing masa masası masasında Matematik MBR media megapixel mendil mesajları Messenger Meta mıknatısla mıknatıslı mıknatıslıi bilezik mikrofon mikroskop minibüs mistik mobil mobilya Modem modern modüler Moneybookers monitör Morph motoru mouse MP3 Msconfig MSN mum mumlar mutfak mühendisler müzisyen nanoi nanoteknoloji Nasıl neden Nedir nesil notdefteri oda ofis okuma olta oltası Oluş Oluşturmak online Optimizasyon Optimizasyonunun ordunun otomobil oyunculara Ödüllü ölçün Önemi önleyen örümceği özel Özellikleri paneli videolui duvardai şarkıyai tepki panoramik para parasolar Paypal pipet plak platform player portatif poşet ppp100 Problemleri Problemlerine Programları projektör projektörlü protez pusula r Sayıcı Ram recording reklam renk resimdeki robot robotu roomba rss rubik saat sabunlar sabunluk Sağ salıncak Saniyede satranç Sayfa Sayfada seccade sefertası Sektör serinletici ses sesi sessiz shower sıkça silecek sileceksiz sinek sinyali site siteye SkaLinks Skyliner Sleeptracker sms son Soru Soruları sound sörf sözlük spy ssaat stargate sticker şarjedilebilir şeklinde şemsiye şeytan şık şiş Tabanlı Tag takılan takvimi tamizlik tanıtımı tasarım taşınabilir Tavsiyeler technorati tekeri Teknikleri telefon telefonu Temizlenir Textarea tığ Tıklama Tıklamayı tişört Title top toplayan tornavida Trafikteki Transferi tritium tutuşturucu tuvalet tuzağı tükenmez tüpte türk uçak uçan usb usb 3.0 uvemetre uyanın Uygulama uyku uzaktan üç üretimi Üyeliği Üyelik ve venüs veren verilen verin Veritabanı video Virüsleri Virüsünü volvo watch Wax webmaster Windows Wordpress Worpress xp yabancı yapılan Yapılır yapışkan yapmayan yapraklar yarasa yaşlanmayı yatak yavaş yazı yazın yemek yeni yerçekimi yerçekimsiz Yolları yön Yönlendirme yönünü yürümeye yürüteci yürüyen yürüyüş yüzük zarar

Blog

RSS Takip Tavsiye Et İndir (.doc) Okunma: 6
SQL ASP ve diğerleri hakkında bilgiler DERS 2

SQL ASP ve diğerleri hakkında bilgiler DERS 1 ASP nedir? Nasıl çalı$ır?.....

DERS 2

[Resim]

INSERT INTO ifadesi

Bu ifadeyi kullarak veritabanındaki bir tabloya bir satır ekleyebilirsiniz.

ifadenin kurulusu;
INSERT INTO tabloAdi (kolonBir,kolonIki,...) VALUES (kolonBir,kolonIki,...)

veritabanımızda "bilgi" tablomuz olsun;

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15

INSERT INTO bilgi VALUES (’veli’, ’sözcü’, ’trabzon’, ’20’)

dediğimizde sonucu;

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20

olucaktır.

Tüm satırdaki bilgileri doldurmak yerine, sadece belli yerlere veri girmek için ne yapmak gerek derseniz, bir ornekle acıklayalım..

veritabanımızda "bilgi" tablomuz olsun;

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20

INSERT INTO Persons (ad, il) VALUES (’necmi’, ’sivas’)

dediğimizde sonucu;

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi sivas

olucaktır.

UPDATE ifadesi

Bu ifadeyi kullanarak veritabanındaki bir veriyi guncelleyebilirsiniz.

ifadenin kurulusu;
UPDATE tabloAdi SET kolonAdi = Yenideger WHERE kolonAdi = tanimlayiciDeger

veritabanımızda "bilgi" tablomuz olsun;

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi yakan sivas 19

UPDATE bilgi SET ad = ’osman’ WHERE soyad = ’yakan’

dediğimizde sonucu;

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
osman yakan sivas 19

olucaktır.

Birden fazla veriyi guncellemek isteyebiliriz, ohalde alttaki ornegi inceleyelim:

veritabanımızda "bilgi" tablomuz olsun;

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi yakan sivas 19

UPDATE bilgi SET il = ’hatay’, yas = ’13’ WHERE soyad = ’yakan’

dediğimizde sonucu;

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi yakan hatay 13

DELETE ifadesi

Bu ifadeyi kullanarak veritabanındaki bir satırı silebilirsiniz.

ifadenin kurulusu;
DELETE FROM tabloAdi WHERE kolonAdi = tanimlayiciDeger

veritabanımızda "bilgi" tablomuz olsun;

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi yakan sivas 19

DELETE FROM bilgi WHERE yas = ’20’

dediğimizde sonuc

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
necmi yakan sivas 19

Tablodaki tüm bilgileri silmek için şu ifadeleri kullanabilirsiniz:

DELETE FROM tabloAdi
DELETE * FROM tabloAdi

ORDER BY ifadesi

bu ifade ile sonucları sıralamak mumkundur.

Satırları sıralamak için ifade şu şekilde kurulur;
SELECT kolonAd(lar)i FROM tabloAdi ORDER BY referansKolonu

örnek veri tabanımızda "bilgi" tablomuz olsun

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi yakan sivas 19

SELECT ad,soyad FROM bilgi ORDER BY ad

dediğimizde sonuc

ad soyad
----- -------
ali özgür
necmi yakan
veli sözcü

eger sıralamayı tersine cevirmek istersek ifadenin sonuna DESC sözdizimini, sayıları kucukten buyuye sıralamak içinde ASC sözdizimini ekliyoruz.

SELECT ad,soyad FROM bilgi ORDER BY ad DESC

dediğimizde sonuc

ad soyad
----- -------
veli sözcü
necmi yakan
ali özgür

AND ve OR operatorlerinin kullanılısı

AND ve OR operatorleri WHERE ifadesiyle birlikte, birden cok durumu birleştirmek için kullanılır. AND operatoru eger TÜM durumlar dogru ise ilgili satırı gosterir. OR operatoru ise durumlardan bir tanesi bile dogru olsa bile ilgili satırı gosterir.

örnekleri "bilgi" adlı tablomuza gore vericek olursak

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi yakan sivas 19
osman yakan van 33
alp özgür ankara 12

SELECT * FROM bilgi WHERE ad=’ali’ AND soyad=’özgür’

dediğimizde sonuc

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15

SELECT * FROM bilgi WHERE ad=’alp’ OR soyad=’özgür’

dediğimizde sonuc

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
alp özgür ankara 12

heriki operatorude birleştirecek olursak

SELECT * FROM bilgi WHERE (ad=’alp’ OR ad=’ali’) AND LastName=’özgür’

dediğimizde sonuc

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
alp özgür ankara 12

IN operatorunun kullanılısı

Bu operator, bir degeri tam biliyorsak ve bunu goruntulemek istiyorsak kullanabiliriz.

ifadenin kurulusu;
SELECT kolonAdi FROM tabloAdi WHERE colonAdi IN (degerBir,degerIki,...)


örnek veritabanımızda "bilgi" tablomuz olsun

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi yakan sivas 19
osman yakan van 33
alp özgür ankara 12

SELECT * FROM bilgi WHERE il IN (’van’,’trabzon’)

dedigimzde sonuc

ad soyad il yas
----- ------- ---- -----
veli sözcü trabzon 20
osman yakan van 33

BETWEEN operatorunun kullanılısı

Bu operator yardımı ile iki deger arasındaki veriyi secebiliriz, bu degerler numara,yazı yada tarih olabilir.

ifadenin kurulusu;
SELECT kolonAdi FROM tabloAdi WHERE colonAdi BETWEEN degerBir AND degerIki


örnek veritabanımızda "bilgi" tablomuz olsun

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi yakan sivas 19
osman yakan van 33
alp özgür ankara 12

SELECT * FROM bilgi WHERE il BETWEEN ’trabzon’ AND ’van’

dediğimizde sonuc

ad soyad il yas
----- ------- ---- -----
veli sözcü trabzon 20
necmi yakan sivas 19

Yanlız BETWEEN operatoru veritabanı cinsine gore degişik sonuclar verebilir. Yukarda oldugu gibi sonraki degeri sonuca dahil etmeyebilir, ilk degeri dahil etmeyebilir, iki degerden hiçbirini dahil etmeden sonuc verebilir yada iki degeride dahil edip sonucu verebilir. Bu yuzden etkili biçimde kullanmadan once bu operatorun tam olarak nasıl davrandıgını veritabanınızda denemeniz önerilir.

Birde bu aralıkta olmayanlarıda listeleyebiliriz;

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi yakan sivas 19
osman yakan van 33
alp özgür ankara 12

SELECT * FROM bilgi WHERE il NOT BETWEEN ’trabzon’ AND ’van’

dediğimizde sonuc

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
osman yakan van 33
alp özgür ankara 12

ALIAS operatorunun kullanılısı

Bu operator ile bir kolonun yada tablonun adı bir baska şeymiş gibi kullanılabilir.

ifadelerin kurulusu;
SELECT kolon AS kolonAliasi FROM tablo


SELECT kolon FROM tablo AS tabloAliasi

örnek veritabanımızda "bilgi" tablomuz olsun

ad soyad il yas
----- ------- ---- -----
ali özgür ankara 15
veli sözcü trabzon 20
necmi yakan sivas 19
osman yakan van 33
alp özgür ankara 12

SELECT soyad AS aile, il AS yerleske FROM bilgi

dediğimizde sonuc

aile yerleske
----- --------
özgür ankara
sözcü trabzon
yakan sivas
yakan van
özgür ankara

yada alias ı tablo için kullanabiliriz..

SELECT ad, soyad FROM bilgi AS nufusBilgileri

ad soyad
----- -------
ali özgür
veli sözcü
necmi yakan
osman yakan
alp özgür

SQL Join methodunun kullanılısı

Bazen iki yada daha fazla tablodan veri cekmemiz gerekebilir, bu gibi durumlarda bu methodu kullanırız.

Veritabanındaki tablolar, birbirleriyle bazı key lerle ilişkilendirilmiştir. İlk ve oncelikli (primary) key, satırlarda bulunan kolonla birlikte tek ve benzeri olmayan degerdir. İki verinin birbiriyle ilişkilendirilmesinin amacı tabloları aşıp, tablo isimlerini tekrarlamadan veriyi almaktır.

veritabanımızda iki adet tablomuz olsun

ilk tablo adımız "kisi"

kisiID tamAdi
------ --------
01 ali,özgür
02 veli,sözcü
03 necmi,yakan
04 osman,yakan
05 alp,özgür

ikinci tablo adımız "detay"

kimlikNo il kisiID
-------- ---- ------
4893 ankara 01
6889 trabzon 02
3684 sivas 03
5285 van 04
4234 ankara 05

"kisi" tablosundaki "kisiID" kolonu bir ilk ve oncelikli (primary) keydir. Bunun anlamı baska herhangi bir satır aynı degere sahip olamaz. Bu sayede diger kolonlarda aynı degeri bulunan veriler olsa bile bu key onları birbirinden ayırmakta kullanılabilir.

"detay" tablosunun il ve oncelikli (primary) keyi "kimlikNo" dur. Ve "kisiID" kolonu "bilgi" tablosunu "detay" tablosuyla baska herhangi bir veri girmeden ilişkilendirmiştir.

veritabanımıza birkac SQL tarzı soru soralım bakalım nasıl soruyoruz ve nasıl cevaplar alıyoruz

İnsansı soru: kim nerde oturuyor?
SQL tarzı soru(sorgu): SELECT kisi.tamAd, detay.il FROM kisi, detay WHERE kisi.kisiID=detay.kisiID

Cevap:

tamAdi il
-------- ----
ali,özgür ankara
veli,sözcü trabzon
necmi,yakan sivas
osman,yakan van
alp,özgür ankara

İnsansı soru: kim trabzonda oturuyor?
SQL tarzı soru(sorgu): SELECT kisi.tamAdi FROM kisi, detay WHERE kisi.kisiID=detay.kisiID AND detay.il=’trabzon’

Cevap:

tamAdi
--------
veli,sözcü

Bu işi birde JOIN sozdizimi kullanarak yapabiliriz.

INNER JOIN operatorunun kullanılısı

ifadelerin kurulusu;
SELECT bolgiBir, bolgiIki, bolgiUc FROM ilkTablo INNER JOIN ikinciTablo ON ilkTablo.keyBolgesi = ikinciTablo.yabanciKeyBolgesi


veritabanımızda iki adet tablomuz olsun

ilk tablo adımız "kisi"

kisiID tamAdi
------ --------
01 ali,özgür
02 veli,sözcü
03 necmi,yakan
04 osman,yakan
05 alp,özgür
06 zeki,civi
07 alp,öztürk

ikinci tablo adımız "detay"

kimlikNo il kisiID
-------- ---- ------
4893 ankara 01
6889 trabzon 02
3684 sivas 03
5285 van 04
4234 ankara 05

ve sorularımıza INNER JOIN kullarak devam edelim..

İnsansı soru: kim nerde oturuyor?
SQL tarzı soru(sorgu): SELECT kisi.tamAdi, detay.il FROM kisi INNER JOIN detay ON kisi.kisiID = detay.kisiID

cevap:

tamAdi il
-------- ----
ali,özgür ankara
veli,sözcü trabzon
necmi,yakan sivas
osman,yakan van
alp,özgür ankara

Bu method tablolardaki eşleşmiş her veriyi cıkartıcaktır, eger eşlenmemiş bir veri varsa onu cıkarmıyacaktır.

LEFT JOIN operatorunun kullanılısı

ifadelerin kurulusu;
SELECT bolgiBir, bolgiIki, bolgiUc FROM ilkTablo LEFT JOIN ikinciTablo ON ilkTablo.keyBolgesi = ikinciTablo.yabanciKeyBolgesi


veritabanımızda iki adet tablomuz olsun

ilk tablo adımız "kisi"

kisiID tamAdi
------ --------
01 ali,özgür
02 veli,sözcü
03 necmi,yakan
04 osman,yakan
05 alp,özgür
06 zeki,civi
07 alp,öztürk

ikinci tablo adımız "detay"

kimlikNo il kisiID
-------- ---- ------
4893 ankara 01
6889 trabzon 02
3684 sivas 03
5285 van 04
4234 ankara 05

ve sorularımıza INNER JOIN kullarak devam edelim..

İnsansı soru: kim nerde oturuyor?
SQL tarzı soru(sorgu): SELECT kisi.tamAdi, detay.il FROM kisi LEFT JOIN detay ON kisi.kisiID = detay.kisiID

cevap:
tamAdi il
-------- ----
ali,özgür ankara
veli,sözcü trabzon
necmi,yakan sivas
osman,yakan van
alp,özgür ankara
zeki,civi
alp,öztürk

Gördünüz gibi bu sefer LEFT JOIN operatorunu kullandık ve veritabanımızda il bilgsi bulunmayan kayıtlarımızı cevap listesine ekledi..

Bu demek oluyorki LEFT JOIN ilk tabloda(SQL sorgusunda ismi gecen ilk tablo) girdisi olmasına karsın ikinci tabloda eşlendiği bir degeri yoksabile o girdiği sonuca ekleniyor.

Bunun tam tersini yapmak için yani ikinci tabloda girdisi oldugu halde ilk tabloda karşılıgı olmayan verileride sonuca eklemek istersek,
kurmamız gereken SQL ifadesi:
SELECT bolgiBir, bolgiIki, bolgiUc FROM ilkTablo RIGHT JOIN ikinciTablo ON ilkTablo.keyBolgesi = ikinciTablo.yabanciKeyBolgesi


SQL UNION ve UNION ALL methodlarının kullanılısı

Bu method verdiği sonuc itibari ile JOIN methoduna benzesede, bu methodun JOIN den farkı secilecek kolonların veri tiplerinin aynı olma sartıdır.

UNION methodu, eger secilmiş olan verilerde çiftler varsa onları sonuca yansıtmaz ..
UNION ALL dersek düz mantıkla, secilmiş tum verileri (aynısından olsa bile) sonuc olarak veririr...

ifadelerin kurulusları;
ilk SQL sorgusu UNION ikici SQL sorgusu

ilk SQL sorgusu UNION ALL ikici SQL sorgusu

veritabanımızın ilk tablosu, "donerSevenler"

kisiID ad
------ ----
01 mert
02 can
03 aslı

ikinci tablosu, "pideSevenler"

kisiID ad
------ ----
01 veli
02 ali
03 aslı
04 ersin

SELECT ad FROM onerSevenler UNION SELECT ad FROM pideSevenle

dediğimizde sonuc

ad
---
mert
can
aslı
veli
ali
ersin

eger SELECT ad FROM onerSevenler UNION ALL SELECT ad FROM pideSevenle dersek sonuc

ad
---
mert
can
aslı
veli
ali
aslı
ersin

olur...

SELECT ifadesi

Veritabanı yaratmak için kullanılan ifade;
CREATE DATABASE veriTabaniAdi


Veritabanına tablo eklemek için kullanılan ifade;
CREATE TABLE tabloAdi
(
kolonAdi veriTipi,
kolonAdi veriTipi,
.................,
)


örneğin:

CREATE TABLE kisi
(
ad varchar,
soyad varchar,
il varchar,
yas int
)

Buna ek olarak bir kolona girilecek max. girdi uzunlugunu belirleyebilirsizin.

örneğin:

CREATE TABLE kisi
(
ad varchar(10),
soyad varchar(30),
il varchar,
yas int(2)
)

Şimdi sorucaksınız baska hangi veri tipleri vardır, yada yukardaki ornektekiler nedemekdir diye ...

Veri tipleri

integer(uzunluk), int(uzunluk) ,smallint(uzunluk) ,tinyint(uzunluk);
Sadece tamsayıları tutar, eger parantez içinde bir sayı yazarsanız o uzunluk degerini gecmeden veri tutar..

decimal(uzunluk,hassasiyet), numeric(uzunluk,hassasiyet);
Ondalıklı sayıları tutar, parantez içinde uzunluk olarak en fazla kac karakterli sayı tutmasını ve hassasiyet olarakta virgulden sonra kac rakam tutmasını istediğinizi yazabilirsiniz.

char(uzunluk);
Belli bir degerdeki diziyi tutar. Bu dizi harf, sayı yada ozel karakterlere sahip olabilir. Bellirliyecegimiz dizi uzunlugu parantez içine yazılmalıdır.

varchar(uzunluk);
Max. uzunlugu verilen bir diziyi tutar. Bu dizi harf, sayı yada ozel karakterlere sahip olabilir.

date(YYYYAAGG); Tarih degerini tutar, Yıl Ay ve Gun olarak..

INDEX ifadesi

index (arama anahtarı) olusturur, bu sayede sorgulamaya hız getir. Yanlız guncelleme esnasında indexli kolonlar daha fazla zaman alır bu yuzden indexlerin sadece arama tarzında kullanılması onerilir..

Unique index
Tabloya unique index olusturur, fakat bu index tarzında iki satır aynı index degerine sahip olamaz.

ifadenin kurulusu;
CREATE UNIQUE INDEX indexAdi ON tabloAdi (kolonAdi)


Basit index
Bu indexde ise, unique dan farklı olarak iki tane index degeri aynı olabilir.

ifadenin kurulusu;
CREATE INDEX indexAdi ON tabloAdi (kolonAdi)


eger index degerlerini azalan bir biçimde sıralamak isterseniz o zamanda ifadeyi soyle kurarız;
CREATE INDEX indexAdi ON tabloAdi (kolonAdi DESC)


eger index degerini birden fazla kolona vermek istiyorsanız ise ifadeyi soyle kurarız;
CREATE INDEX indexAdi ON tabloAdi (kolonAdi,digerKolonAdi)


DROP ifadesi

DROP genel olarak silme işlemi gercekleştirir...

indexleri silmek için kurulacak ifade;
DROP INDEX tabloAdi.indexAdi


tablo silmek için kurulacak ifade;
DROP TABLE tabloAdi


veritabanını silmek için kurulacak ifade;
DROP DATABASE veritabaniAdi


Eger sadece bir tablo içindeki verilerin hepsinden kurtulmak istersek, kullanıcagımız ifade;
TRUNCATE TABLE tabloAdi


ALTER TABLE ifadesi

Bu ifade varolan bir tabloya kolon eklemek yada silmek için kullanılır.

ifadelerin kullanılışı;
ALTER TABLE tabloAdi ADD kolonAdi veriTipi

ALTER TABLE tabloAdi DROP COLUMN kolonAdi


Yanlız bazı veritabanları kolonu silme işlemini bu şekilde izin vermiyor, o zaman sizde DROP COLUMN kolonAdi sorgusunu kullanınız.

örnek veritabanımızda "bilgi" tablomuz olsun

ad soyad il
-- ------ --
ali saygın tekirdag

ALTER TABLE bilgi ADD yas varchar(2)

dediğimizde sonuc

ad soyad il yas
-- ------ -- ---
ali saygın tekirdag

ALTER TABLE bilgi DROP COLUMN il

dedimizde sonuc

ad soyad yas
-- ------ ---
ali saygın

SQL Fonkisyonları

SQL kendi içinde bir cok fonksiyonu barındırır, bunlar sayım ve hesaplama için kullanılabilir.

Fonksiyon sözdizimi kuruluşu;
SELECT fonksiyon(kolon) FROM tablo

Fonksiyon tipleri;
SQL fonksiyonları birkaç temel tip ve kategoriye sahiptir. Temel fonksiyon tipleri:

++ Aggregate (birleşik degerli) fonksiyonlar
++ Scalar (tekil degerli) fonksiyonlar

Aggregate (birleşik degerli) fonksiyonlar
Bu tip fonksiyonlar birçok deger ile çalışır ama sonucu tek bir degerdir.

Bu fonksiyonların MS Access e uygun olanları:
AVG(kolon): girilen kolondaki sayıların aritmetik ortalama degerini geri yollar
COUNT(kolon): Boş degerler haric, girilen kolondaki satır sayısını yollar
COUNT(*): Verilen tablodaki satır sayısını yollar
FIRST(kolon): girilen kolondaki ilk degeri yollar
LAST(kolon): girilen kolondaki son degeri yollar
MAX(kolon): girilen kolondaki en yuksek degeri yollar
MIN(kolon): girilen kolondaki en dusuk degeri yollar
STDEV(kolon): girilen kolondaki basit istatiksel standard sapma degerini yollar
STDEVP(kolon): girilen kolondaki nüfus istatiksel standard sapma degerini yollar
SUM(kolon): girilen kolondaki sayıların toplamını yollar

Bu fonksiyonların SQL Server a uygun olanları:
AVG(kolon): girilen kolondaki sayıların aritmetik ortalama degerini geri yollar
BINARY_CHECKSUM: tablonun verilen satırındaki ikilik tabandaki checksum degerini yollar
CHECKSUM: tablonun verilen satırındaki checksum degerini yollar
CHECKSUM_AGG: boş degerler haricindeki verilerin checksum degerini yollar
COUNT(kolon): Boş degerler haric, girilen kolondaki satır sayısını yollar
COUNT(*): Verilen tablodaki satır sayısını yollar
COUNT(DISTINCT kolon): Verilen tablodaki satır sayısını yollar, fakat cift veri bulunan satırları bir defa sayar
FIRST(kolon): girilen kolondaki ilk degeri yollar
LAST(kolon): girilen kolondaki son degeri yollar
MAX(kolon): girilen kolondaki en yuksek degeri yollar
MIN(kolon): girilen kolondaki en dusuk degeri yollar
STDEV(kolon): girilen kolondaki basit istatiksel standard sapma degerini yollar
STDEVP(kolon): girilen kolondaki nüfus istatiksel standard sapma degerini yollar
SUM(kolon): girilen kolondaki sayıların toplamını yollar

Scalar (tekil degerli) fonksiyonlar
Girilen degere gore bir deger ile calısır ve sonuc olarak bir deger yollar.

Bu fonksiyonların MS Access e uygun olanları:
UCASE(c): bolgedeki karakterlerin hepsini buyuk yapar
LCASE(c): bolgedeki karakterlerin hepsini kucuk yapar
MID(c,start[,end]): yazı alanından karakterleri calıstırır
INSTR(c): yazı alanından karakterleri gosterir
LEFT(c,karakterNumarasi): text alanının girilen sayıya kadar olan kısmını yollar (soldan sayar)
RIGHT(c,number_of_char): text alanının girilen sayıya kadar olan kısmını yollar (sagdan sayar)
ROUND(c,hassasiyet): sayı alanını verilen hassasiyete gore yuvarlar
MOD(x,y): bolme işleminde kalanı gosterir (mod işlemi yapar)
NOW(): o anki sistem zamanını gosterir
FORMAT(c,format): alanın gosterim biçimini degiştirir
DATEDIFF(d,birinciTarih,ikinciTarih): tarih hesaplarını yapmak için kullanılır

SQL GROUP BY VE HAVING methodlarının kullanılısı

Aggregate (birleşik degerli) fonksiyonları ( SUM gibi ) genellikle GROUP BY fonsiyonuna gerek duyar.

GROUP BY ek fonksiyonu

Bu ek fonksiyonun kullanımı, SUM fonksiyonu ile kolon içinde istenilen bir belli bir bolumun toplamını sonuca verememesinden kaynaklanmaktadır. Bu ek fonksiyon yardımıyla toplamı istenen veriler gruplanıp daha detaylı sorgulanır.

ifadenin kuruluşu;
SELECT kolon,SUM(kolon) FROM tabloAdi GROUP BY kolon


veritabanımızda "satis" tablosu olsun

firma miktar
------ --------
CyberHost 15
internetSahibi 19
CyberHost 23
digerHost 12
internetSahibi 18

SELECT firma, SUM(miktar) FROM satis

dedigimizde sonuc

firma miktar
------ --------
CyberHost 87
internetSahibi 87
CyberHost 87
digerHost 87
internetSahibi 87

SELECT firma,SUM(miktar) FROM satis GROUP BY firma

dedigimizde sonuc

firma miktar
------ --------
CyberHost 38
internetSahibi 37
digerHost 12

HAVING ek fonksiyonu

Bu fonksiyonun eklenmesinin nedeni WHERE ifadesi ile Aggregate (birleşik degerli) fonksiyonlarının kullanılamaması ve sonucların bazı ayıklama ve testten gecirilme ihtiyacıdır.

ifadenin kurulusu;
SELECT kolon,SUM(kolon) FROM tabloAdi GROUP BY kolon HAVING SUM(kolon) durumYadaFonsiyon deger


veritabanımızda "satis" tablosu olsun

firma miktar
------ --------
CyberHost 15
internetSahibi 19
CyberHost 23
digerHost 12
internetSahibi 18

SELECT firma,SUM(miktar) FROM satis GROUP BY firma HAVING SUM(miktar)>35

dediğimizde sonuc

firma miktar
------ --------
CyberHost 38
internetSahibi 37

SELECT INTO ifadesi

Bu ifade genel olarak tablo yedekleri almakta ve kayıtları arşivlemeyi sağlamakta kullanılır.

ifadenin kurulusu;
SELECT kolonAd(lar)i INTO yeniTabloAdi [IN farklıBirVeriTabaniAdi] FROM anaKaynak


örnek ifadeler;

SELECT * INTO bilgiYedek FROM bilgi

bilgi tablosunu aynı veritabanında bilgiYedek adlı yeni bir tabloya kopyalar.

IN sözdizimini kullanarak tamamen yeni bir vertabanı olusturup onun içine yedekleme yapabiliriz.

SELECT bilgi.* INTO bilgi IN ’yedekVeritabaniAdi.mdb’ FROM bilgi

Yedeklemek istediğiniz tum tablo degilde belli satırları yada belli kolonları yedekleyebilirsiniz.

SELECT ad,soyad INTO bilgiYedegi FROM bilgi

yada

SELECT ad,soyad INTO bilgiYedegi FROM bilgi WHERE il=’Ankara’

dediğimizde sadece il kolonu Ankara olan kişilerin adlarını yedekliyecektir..

eger birden cok tabloyu yedeklemek istersek, asagıdaki gibi bir SQL sorgusu yazabiliriz..

SELECT kisi.tamAdi,detay.il INTO ikiTablonunYedegi FROM kisi INNER JOIN detay ON kisi.kisiID=detay.kisiID

CREATE VIEW ifadesi

View (görüntü) nedir?

VIEW ifadesi sanal bir tablodur ve SELECT ifadesinin sonuc kumesini barındırır.

Bir view ile satır ve kolonları aynı gercek tabloda oldugu gibi gorebiliriz. SQL fonksiyonlarını, WHERE ve JOIN ifadelerini kullanarak tek bir tablo olarak goruntuleyebiliriz.

NOT: Veritabanı tasarımı ve yapıları view ifadesi ile bozulmamaktadır.

ifadenin kurulusu;
CREATE VIEW goruntuAdi AS SELECT kolonAd(lar)i FROM tabloAdi WHERE durum


NOT: View ifades(ler)i veritabanında barındırılmaz. Her sorguda yeniden oluşturur.

View (görüntü) kullanımı

Sorgulamada, işlem kayıtlarında, fonksiyon, baglantı gibi methodları kullanarak verileri kullanıcılara etkili biçimde gosterebilirisizin.

bazı View yaratma örnegi;

CREATE VIEW [kisi bilgi listesi] AS SELECT kisiID,tamAdi FROM bilgi

bunu goruntulemek için;

SELECT * FROM [kisi bilgi listesi]
Konu Yoruma Kapalı
» Benzer 5 Konu
 Konu Başlığı Tarih Okunma
 SQL ASP ve diğerleri hakkında bilgiler DERS 1 6/15/2008 5
 SQL Dilinde Select, Insert, Update, Delete Komutları 6/15/2008 9
 SQL Dilinde Select, Insert, Update, Delete Komutları 6/15/2008 27
 sql öğrenin 6/15/2008 12

En Çok Okunanlar Son Yorumlananlar Hakkımda
ADSL Kota ve Borç Bilgileri (195)
Session.codepage ve kullanımı (138)
photoshop ta 100 adet fotoğraf efekti uygulaması (127)
ASP ile Base64 Şifre Çözme (105)
Sayfada Mouse ile Sağ Tıklamayı Engelleme (84)
Session.abandon ve kullanımı (73)
Durum Çubugundaki Hareketli Yazı (65)
ASP ile Base64 Şifreleme (51)
İkariam - Orta Çağ Web Browser Strateji Oyunu (50)
Session.timeout ve kullanımı (49)
Yorumlanan Konu Yok
Matematik Öğretmeni