hukuk.forum.st
Would you like to react to this message? Create an account in a few clicks or log in to continue.

hukuk,hukuki,adliye,dava,müvekkil,hukuk haberleri,avukat,savcı,hakim,forum
 
AramaLatest imagesAnasayfaKayıt OlGiriş yap

 

 SQL Hakkında Bilmemiz Gereken Temel Bilgiler ve Örnekler

Aşağa gitmek 
YazarMesaj
Jensen
Hukuk Forum
Jensen


Giriş Tarihi : 30/03/09
Yer : İstanbul
Yaş : 34
Mesajlar : 14824
Rep Puanı : 14472
Rep Gücü : 6503
SQL Hakkında Bilmemiz Gereken Temel Bilgiler ve Örnekler 2duy3hj

SQL Hakkında Bilmemiz Gereken Temel Bilgiler ve Örnekler Empty
MesajKonu: SQL Hakkında Bilmemiz Gereken Temel Bilgiler ve Örnekler   SQL Hakkında Bilmemiz Gereken Temel Bilgiler ve Örnekler EmptyPerş. Haz. 10, 2010 12:44 pm

SQL (STRUCTURED QUERY LANGUAGE)

Yapısal Sorgulama Dili olan SQL,
ilişkisel veritabanlarındaki bilgileri
sorgulamak için standart
kullanımı olan bir dildir. Standart bir
dil olmasına karşılık, çeşitli
veritabanlarında SQL kullanımları arasında farklılıklar vardır. SQL
komutları ile, tablolara yeni
kayıt
girme, varolan kayıtları sorgulama (arama ve listeleme), varolan
bilgileri
değiştirme ve varolan kayıtları silme işlemleri yapılabilir.

Üzerinde
sql komutlarını uygulayacağımız, örnek olarak ozluk ve notlar
tablosundan birkaç kayıt verilsin.

Ozluk tablosundaki alan
isimleri ve örnek veriler;

ogr_no adi soyadi cinsiyeti
88050071
Muhittin Altınkaya E
89050020 Selda Anar K
91050099 Yahya
Demircan E

Notlar tablosundaki alan isimleri ve örnek veriler;
ogr_no
kodu donem sube vize final basari
88050071 A308 2003-04/2 A 45 60
60
88050071 A401 2003-04/1 B 50 94 94
89050020 A308 2003-04/2 A 50
50 50
89050020 A307 2003-04/1 A 80 40 45
91050099 A308 2003-04/2 A
20 60 50
91050099 A308 2003-04/2 B 60 60 66
91050099 A401
2003-04/1 A 80 80 94
91050099 A445 2003-04/1 A 0 0 0
91050099 A445
2003-04/1 A 60 60 66

Bu noktadan sonraki örnekleri yukarıdaki
değerleri göz önünde tutarak inceleyiniz.





SQL
FONKSİYONLARI

SQL’de kullanılan fonksiyonlar vardır, bu
fonksiyonlar ekrana sadece tek değer görüntülerler.

SUM(DISTINCT]
alan_adi) Belirtilen alan için toplam fonksiyonu (sayısal alanlarda)

COUNT(*) Toplam kayıt sayısı

COUNT(DISTINCT alan_adi)
Belirtilen alana göre farklı olan kayıtların sayısı

MAX([DISTINCT]
alan_adi) Belirtilen alanda en büyük değer

MIN(DISTINCT]
alan_adi) Belirtilen alanda en küçük değer

AVG([DISTINCT]
alan_adi) Belirtilen alanda ortalama değeri.

DISTINCT
parametresi ile belirtilen alanda bulunan bilgilerden aynı olanlarından
sadece birinin seçilmesini sağlar.

Örnek 1:
SELECT COUNT(*)
FROM notlar.

Sonucunda ekrana gelecek kayıt sayısı 9 dur.

Örnek
2:
SELECT COUNT(DISTINCT ogr_no) FROM notlar.
Sql ifadesinde
ekrana gelecek kayıt sayısı 3 olacaktır.

Örnek 3:
SELECT
MAX(basari) FROM notlar.

En büyük basari notunu, ekrana 94
olarak
görüntüler. En büyük değer kaç tane
olursa olsun bir tanesi
görüntülenir.


Örnek 4:
SELECT COUNT(*) FROM ozluk.

Ozluk tablosundaki kayıt sayısını 3 olarak verecektir.

SORGULAMA

SELECT [ALL|DISTINCT] { *|alan_adi_listesi}
[INTO
değişken_listesi ]
FROM tablo-ismi
[WHERE koşul]
[GROUP BY
alan_adi1 [ , alan_adi2] ...]
[HAVING search-condition]
[ORDER BY
siralama_alanlari]

şeklinde genel bir ifadesi vardır.


Buradaki
ve genelde bilgisayar dünyasında yardım (help) menülerinde kullanılan
işaretler,

[ ] seçimlik
{ } zorunlu
< > zorunlu
|
veya anlamına gelmektedir.

Şartsız kayıt sorgulama:

Herhangi
bir tabloya ait bilgi alanlarındaki bilgilerin listesini almak için;

SELECT FROM .

ifadesi kullanılır.

Örnek 1:
SELECT
adi, soyadi FROM ozluk.

Ozluk tablosundaki tüm öğrencilerin
adını ve soyadını ekrana görüntüleyecektir.

Örnek 2:
SELECT
vize*10 FROM notlar.

Notlar tablosundaki tüm öğrencilerin vize
notunu 10 ile
çarpımını ekrana görüntüleyecektir. Burada
vizelerin
10 ile çarpımı sadece ekrana
görüntülenecek tabloda ise
değişmeyecektir.

Örnek 3:
SELECT SUM(basari) FROM notlar.

Öğrencilerin başarı notlarının toplamını ekrana verecektir.

Örnek
4:
SELECT adi + soyadi FORMAT “x(25)” FROM ozluk.

Öğrencilerin
adı ve soyadını bitişik yazan SQL ifadesidir.

Bu durumda iki
alanın birleşmesi sonucunda karakter sayısı artacağı
için yeni bir
format belirtmek gerekir.Karakter alanlarda
varsayılan görüntüleme 8
karakterdi, burada iki bilinin
birleşmesi yeni bir bilgi alanı gibi
davranacağından format belirtmek
gereklidir.

Örnek 5:
SELECT
* FROM notlar.

Notlar tablosundaki bütün bilgi alanlarının
içeriklerini
ekrana görüntüleyecektir (* joker
gibi kullanılmaktadır,”*” ile
kullanımda select ile from
arasına başka ifade yazılmaz).

Örnek
6:
DEF VAR sayi AS INT
SELECT COUNT(*) INTO sayi FROM notlar.

Şeklinde bir kullanımla kayıt sayısı, “sayi” değişkeni
içine
aktarılmış olur, böylece elde edilen kayıt sayısı
programın devamında
amaca göre kullanılabilir.

Burada into parametresi
kullanıldığı için sql sonucunda ekran hiçbir görüntü gelmeyecektir.


Örnek 7:
DEF VAR ksayisi AS INT.
DEF VAR ntoplam AS INT.
SELECT
COUNT(*),SUM(basari) INTO ksayisi,ntoplam
FROM notlar.

Kayıt
sayısı “ksayisi” değişkenine, basari notlarının
toplamı da “ntoplam”
değişkeni içine aktarılmış
olacaktır.


Tek kayıt
sorgulama:

Herhangi bir tabloya ait kayıtlardan birer tanesinin
listesini almak için;

SELECT DISTINCT FROM .

ifadesi
kullanılır. Burada distinct’den sonra yazılan alanların aynı olanlardan
birer tanesi listelenir.

Örnek 1:
SELECT DISTINCT kodu FROM
notlar.

Sorgu sonucu listelenecek kayıtlar;

Kodu
A308
A401
A307
A445

Bu örnekte notlar tablosunda bir ders, birden fazla olmasına
rağmen,
sadece her dersten bir tanesi görüntülenir.

Örnek 1
SELECT
DISTINCT kodu, ogr_no FROM notlar.

Sorgu sonucu olarak (örnek
kayıtlardan)
kodu ogr_no
A308 88050071
A401 88050071
A308
89050020
A307 89050020
A308 91050099
A401 91050099
A445
91050099

Notlar tablosunda sadece kodu ve ogr_no alanındaki
kayıtlardan aynı olanlardan birer tanesini listelenmiştir.

SQL
ifadelerini yazarken eğer cümle bir satırı aşıyorsa, daha
anlaşılır
olması açısından alt alta yazarak devam edilebilir.

Sorgu sonucu
dönen kayıtları sıralama:

Herhangi bir tablodaki kayıtları
herhangi bir alan adına göre azalan (artan) sırada sıralayabilmek için;

SELECT
FROM
ORDER BY [,alan_listesi] DESC | ASC.
ifadesi
kullanılır (varsayılan olduğu için artan sırada olacaksa ASC
kullanılmaz).

Örnek 1:
SELECT ogr_no, adi, soyadi FROM ozluk
ORDER
BY soyadi DESC.

Öğrencilerin numara , ad ve soyadlarını ,
soyadı sıralı olarak
Z’den A’ya sıralayarak ekrana görüntüler.

Örnek
2:
SELECT ogr_no, basari FROM notlar ORDER BY basari DESC.

Öğrencinin
numara ve başarı notlarını, başarı notuna göre azalan sırada ekran
görüntüler.

Örnek 3:
SELECT ogr_no, basari FROM notlar ORDER
BY basari
DESC,ogr_no DESC.

Öğrencinin numara ve başarı
notlarını, başarı notuna göre
azalan sırada listelerken notu aynı
olanları da numarasına göre
azalan sırada ekranda görüntüler.

Şartlı
kayıt sorgulama:

Bir tabloda istenilen şarta uygun kayıtların
listesi için;

SELECT FROM WHERE
ifadesi kullanılır.

Örnek
1:
SELECT adi, soyadi, ogr_no FROM ozluk WHERE soyadı = “ “ .

Ozluk
tablosundaki soyadı boş olan kayıtların ad,soyad ve numaralarını
ekranda görüntüler.

Örnek 2:
SELECT ogr_no, basari FROM
notlar WHERE basari = 100.

Notlar tablosundaki başarı notu 100
olan öğrencilerin numaralarını ve başarı notlarını listeler.

Bir
alan içinde birden fazla değeri sağlayan kayıtları listelemek için;

Örnek 4:
SELECT adi, soyadi FROM ozluk WHERE soyadi = “demircan”

AND soyadi =”demirel”.
Bir alan içinde, birden fazla değeri
sağlayan kayıtların listelenmesi, IN ifadesiyle daha kolay ve anlaşılır
yazılabilir.

SELECT FROM
WHERE IN (değer1, değer2).
ifadesi
kullanılır.

Örnek 5:
SELECTadi, soyadi FROM ozluk
WHERE
soyadi IN (“demircan”,”demirel”).

Ozluk tablosunda soyadı
demircan ve demirel olan öğrencilerin ad ve soyadlarını listeler.

Boş
ve dolu alanlara göre sorgu:

Boş alanları listelemek için;

SELECT
FROM WHERE IS NULL.

Örnek 1:
SELECT ogr_no, adi, soyadi
FROM ozluk
WHERE cinsiyeti IS NULL.

Cinsiyet alanı boş olan
öğrencilerin numaralarını, ad ve soyadlarını listeler.

Boş
olmayan alanları listelemek için;

SELECT FROM
WHERE IS NOT
NULL.

ifadeleri kullanılır.


Örnek 2:
SELECT
ogr_no, adi, soyadi FROM ozluk
WHERE cinsiyeti IS NOT NULL.

Cinsiyet
alanı boş olmayan olan öğrencilerin numaralarını, ad ve soyadlarını
listeler.

Tam olmayan bilgiye göre sorgu:

İstenilen
değer ile başlayan kayıtları listelemek için;
SELECT FROM
WHERE
LIKE “%”.

Örnek 1:
SELECT adi,soyadi FROM ozluk WHERE adi
LIKE “A%”.

Adı “B” ile başlayan kayıtların adı ve soyadını
listeler.

İstenilen değer ile biten kayıtları listelemek için;
SELECT
FROM
WHERE LIKE “%”.

Örnek 2:
SELECT adi,soyadi FROM
ozluk WHERE adi LIKE “%A”.

Adı “A” ile biten kayıtların adı ve
soyadını listeler.

İçinde herhangi bir yerde istenilen değer
geçen kayıtları listelemek için;
SELECT FROM
WHERE LIKE “%%”.

Örnek 3:
SELECT adi,soyadi FROM ozluk WHERE adi LIKE “%HY%”.

Adı içinde “HY” geçen kayıtların adı ve soyadını listeler.


İki Tabloyu Beraber Sorgulama (Tabloya Alias [Geçici İsim] Verme):

SELECT FROM tablo1,tablo2 WHERE koşullar.

Birden fazla
tablodan aynı anda bilgi getirilmesi gerektiğinde, ortak
alanlar
üzerinden birleştirme işlemleri yapılır. Birleştirme
işlemi koşullar
bölümünde yapılır, ortak olan alanlar
eşleştirilir.

Örnek 1:
SELECT
o.adi, o.soyadi, o.ogr_no, n.basari
FROM ozluk o,notlar n
WHERE
o.ogr_no=n.ogr_no and n.kodu=’A308’.

A308 dersinde final notu
100 olan öğrencilerin adlarını,
soyadlarını, numaralarını ve başarı
notlarını listeler. Burada
“o” ozluk tablosuna, “n” notlar tablosuna
verilmiş
geçici isimlerdir. Bu geçici isimler sayesinde
sql i daha anlaşılır
ve kısa yazmak mümkündür.

Örnek 2:
SELECT DISTINCT ogr_no,
adi, soyadi
FROM ozluk o, notlar n
WHERE o.ogr_no = n.ogr_no AND
n.kodu = “A206”.

A206 dersini alan tüm öğrencilerin
numaralarını, ad ve soyadlarını listeler.

Kayıtları Gruplama:

Kayıtları, belirli alanlara göre gruplayarak sorgu yapılmasını
sağlar.

Örnek 1:
SELECT kodu,count(*) FROM notlar
WHERE
ogr_no = “91050099”
GROUP BY ogr_no,kodu.

Bu örnekte 91050099
nolu öğrencinin, aldığı dersleri ve bu
dersleri kaç kez aldığını
listeler. Örnek kayıtlara
göre aşağıdaki sonuç elde edilir.

Kodu
Count
A308 2
A401 1
A445 2

Kayıt girme:

Sql de
tablolara yeni kayıt ekleme “Veri İşleme” bölümünde anlatılmıştır.

Kayıt
güncelleme:

Sql de tablolarda varolan kayıtları güncelleme
(bilgi
düzeltme) işlemi “Veri İşleme”
bölümünde anlatılmıştır.

Kayıt silme:

Sql de tablolardan varolan kayıtları tamamen
silme işlemi “Veri İşleme” bölümünde anlatılmıştır.


SQL
VERİTABANI KOMUTLARI

Sql de veritabanı komutları kalıcıdır,
hatırlanırsa 4GL deki gibi
oluşturulan geçici tablolar program
durduğunda yok olmaktaydı.

Tablo oluşturma:

Yeni bir
tablo oluşturmaya yarar.

CREATE TABLE alan1 {tip} [özellikler],
alan2
{tip} [özellikler],

[Unique (alan1,…, alan2)].

Özellikler,
4GL de değişken özelliklerini taşımaktadır..


Örnek 1:
CREATE
TABLE ozluk1
(ogr_no char( not null,
adi char(15) not null,
soyadi
char(15) not null,
sinifi int,
d_tarihi date,
cinsiyeti
char(1),
ilce_kodu char(4) LABEL Doğum Yeri”,
harc_kredi logical,
adres1
char(30),
adres2 char(30),
adres3 char(30));

Ozluk
tablosunun özelliklerini hatta aynısını SQL komutunu ile
yukarıdaki
gibi “ozluk1” tablosu oluşturulmaktadır.

“Not Null” özelliği bu
alanların zorunlu olarak
doldurulması yani boş geçilemez olduğunu
ifade etmektedir.


Tablo adı değiştirme:

“Alter”
komutu ile tablo yapısı değiştirilir.

Bir tablonun adı da
değiştirilebilir.
ALTER TABLE
RENAME TABLE .

Tabloya alan
ekleme:

Tablolara yeni bir alan eklenebilmektedir.
ALTER
TABLE
ADD tip [[Label “ …”] [Format][Column Label]].




Tablodan alan silme:

Var olan alanlar silinebilir.
ALTER
TABLE
DROP .

Tabloda alan adları değiştirme:

Bir
tabloya ait alanların da adı değiştirilebilir.
ALTER TABLE
RENAME
TABLE .

Tabloda alan güncelleme:

Var olan alanların
özellikleri değiştirilebilmektedir.
ALTER TABLE
MODIFY tip
[[Label “ …”] [Format]
[Column Label]].

Örnek 1:
ALTER
TABLE ozluk1
ADD baba_adi CHAR (15).

Ozluk1 tablosuna
öğrencinin baba adını girilebilmesi için, “baba_adi” adında bir alan
eklenmiştir..

Örnek 2:
ALTER TABLE ozluk1
MODIFY baba_adi
CHAR (25);

Ozluk tablosunda var “baba_adi” alanını 25 olarak
genişleten SQL komutunu yazılabilir.

Örnek 3:
ALTER TABLE
ozluk1
DROP baba_adi.

Ozluk1 tablosunda var olan “baba_adi”
alanını silen SQL komutunu yazınız.
Örnek 4:
ALTER TABLE ozluk1
RENAME
TABLE ozluk2.

“Ozluk1” tablosunun adını “Ozluk2” olarak
değiştiren SQL komutudur.

Örnek 5:
ALTER TABLE ozluk2
RENAME
TABLE adi ograd.

Ozluk2 tablosundaki “adi” alanının adını
“ograd” olarak değiştiren SQL komutudur..

Tablo Silme:

Tablolara
ihtiyaç kalmadığı zaman silmeye yarar.

DROP TABLE .

Örnek
1:
DROP TABLE ozluk2.

Ozluk2 tablosunu silen SQL komutunu
yazılabilir, burada tablodaki bilgilerde yok olacaktır.
Sayfa başına dön Aşağa gitmek
 
SQL Hakkında Bilmemiz Gereken Temel Bilgiler ve Örnekler
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Dünya Amberleri Bilgiler Resimler Örnekler Herş£y
» Smack Down Hakkında Bilgiler
» Nasa hakkında bilgiler
» Cennet ve Cehennem Hakkında Bilgiler
» BÖbrek Naklİ Hakkinda Bİlgİler

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
hukuk.forum.st :: WebMaster Dünyası :: WebMaster-
Buraya geçin: