
|
SQL
SQL, ilişkisel veritabanlarındaki bilgileri sorgulamak için
kullanılan dildir. SQL, bütün kullanıcıların ve uygulamaların veritabanına erişmek
için kullandıkları komutlar bütünüdür. Uygulama programları ve veritabanı araçları
kullanıcılara çoğu durumda SQL kullanmadan veritabanına erişim imkanı sunmaktadırlar
fakat bu uygulamalar da geri planda SQL kullanmaktadırlar. SQL, ilişkisel veritabanı
yönetim sistemleri standardı olarak kabul edilmektedir. SQL komutları ile aşağıdaki
işlemler yapılabilir. SQL komutları ile aşağıdaki işlemler yapılabilir.
Veri sorgulama
Bir tabloya kayıt ekleme, değiştirme ve silme
Veritabanı nesnelerini (database objects) yaratma, değiştirme ve silme
Veritabanına ve nesnelerine erişimi kontrol etme
Veritabanı bütünlüğünü ve tutarlılığını sağlama işlemleri yapılabilmektedir.
SQL DEYİMLERİ
Structured Query Language (Yapısal Sorgulama Dili) database (veritabanı)
yönetimi için bir programlama standartı.ANSI ve ISO standartlarında ve bir çok programlama
dilli standart komutlarında SQL özelliklerini kullanmaya imkan sağlıyor.Veritabanından
sorgulama yapmak için SELECT, ekleme yapmak için INSERT güncelleme
yapmak için UPDATE, silme yapmak için DELETE, yeni tablo oluşturmak
için CREATE TABLE gibi komutlara sahiptir. Bu komutlar işlevlerine göre şu
şekilde kategorilendirilir:
VERİ TANIMLAMA DİLİ (DDL DATA DEFİNİTİON LANGUAGE) DEYİMLERİ
DDL deyimleri ile veritabanı üzerinde nesneler oluşturulabilir..
En yaygın kullanılan DDL deyimleri şunlardır.
CREATE
ALTER
DROP
CREATE DEYİMİ : Veritabanı üzerinde bir tablo oluşturmak için
CREATE deyimi kullanılır. Yapısı: CREATE tablonun adı . Bir örnekle
açıklamaya çalışalım:
CREATE TABLE `ogrenciler` (
`BolumKodu` char(5) NOT NULL default '',
`OgrenciNo` char(15) NOT NULL default '',
`Adi` char(25) NOT NULL default '',
`Soyadi` char(25) NOT NULL default '',
`DTarihi` date NOT NULL default '0000-00-00',
PRIMARY KEY (`OgrenciNo`)
)
Bu örnekte CREATE TABLE `ogrenciler` ( adlı komutlar
ile ogrenciler adında bir tablo oluşturuluyor. BolumKodu` char(5) NOT NULL default
'', bu komutlarda ise char(5) BolumKodu 5 karekter olabilecek NOT NULL
boş bırakılamayacak bir alan oluşturuyor . `OgrenciNo` char(15) NOT NULL default
'', bu komutlarda ise char(15) OgrenciNo 15 karekter olabilecek NOT NULL
boş bırakılamayacak bir alan oluşturuyor. `Adi` char(25) NOT NULL default '',
ve `Soyadi` char(25) NOT NULL default '', bu komutlarda ise char(25) Adi
,Soyadi 25 karekter olabilecek NOT NULL boş bırakılamayacak bir alan oluşturuyor.DTarihi`
date NOT NULL default '0000-00-00' komutları ise date komutu ile o zaman
ki kayıt tarihi NOT NULL boş bırakılamayacak, default '0000-00-00' tarih kısmı "
" işaretleri arasında ki gibi yazılabilcek bir alan oluşturuyor. PRIMARY KEY (`OgrenciNo`)
komutuyla bilincil anahtarımızı OgrenciNo adlı alanına atıyoruz ve ) ile bitiriyoruz.
ALTER DEYİMİ : Daha önceden oluşturulmuş nesnenin değiştirilmesini
sağlar.Yapısı : ALTER TABLE tablonun adı. Örnek:
ALTER TABLE Ogrenciler ADD Memleketi int
Bu örnekte ALTER TABLE Ogrenciler Ogrenciler tablosunu değiştir.
ADD Memleketi int ifadesi ile integer tipinde Memleketi adlı bir alan eklenmiş
oluyor.
ALTER TABLE Ogrenciler DROP COLUMN Memleketi
Bu örnekte ise ALTER TABLE Ogrenciler Ogrenciler tablosunu değiştir.
DROP COLUMN Memleketi Memleketi adlı daha önceden var olan bir alanı sil
demek isteniyor.
DROP : DROP ifadesi, önceden var olan bir alanı veya tablonun
kaldırılması için kullanılır.Yapısı : DROP TABLE tabolonun adi . Örnekle
açıklamaya çalışalım.
DROP TABLE Ogrenciler
Yukarıdaki örnekte Ogrenciler adlı tabloyu ve içindeki bilgilerin
hepsinin kaldırılması sağlar.
DML (DATA MANIPULATION LANGUAGE) DEYİMLERİ
Veritabanı içine bilgi girişi, güncelleme ve gereksiz bilgilerin
silinmesi ile ilgili SQL deyimleridir.
SELECT
INSERT
UPDATE
DELETE
SELECT DEYİMİ
Veritabanındaki verilere erişmeyi listelemeyi ve sıralamayı
sağlayan SQL deyimizidir. genellikle bir ya da daha çok tablonun bütün alanları
ya da belli alanları için SELECT deyimi yazılır. Yapısı :
SELECT [TOP n [PERCENT]] [DISTINC alan] sütun_listesi
FROM kaynak_listesi
[WHERE arama_koşulu]
[ORDER BY sıralama_koşulu [ASC | DESC]]
DISTINCT : Sadece tek olan ( unique) kayıtların sonuç listesinde yer almasını
sağlar.
sütun_listesi : Seçilecek alanları (sütunları) belirtir.
FROM : Belli bir tablonun seçilmesini sağlar.
kaynak_listesi : Sorgulanacak olan tablo ya da tabloları, görünümleri belirtir.
WHERE : Bir koşulu belirterek sadece o kuşula uyan kayıtların seçilmesini
sağlar.
ORDER BY : Verilen koşula göre sıralama yapar
Örneklerle açıklamaya çalışalım.
SELECT * FROM Ogrenciler
WHERE (DTarihi BETWEEN '01.01.1980' AND '01.01.2007')
Yukarıdaki örnekte SELECT * FROM Ogrenciler komutuyla bulunacak
tabkonun adı ve WHERE (DTarihi BETWEEN '01.01.1980' AND '01.01.2007') bu
komutlarla Dtarihi '01.01.1980' ve '01.01.2007' arasında olan kayıtları bulur.
Order By İle Verileri Sıralamak
SELECT deyimi ile elde edilen veriler istenirse sıralanabilir. Sıralama
belirtilen bir ya da daha fazla sütuna göre yapılır. Bunun dışında sıralama ASC
( ascending-artan) ya da DESC ( descending-azalan) olarak belirtilebilir. ORDER
BY sözcüğü verilerin istenilen alan göre sıralı olarak listelenmesini sağlar. Bir
örnekle açıklayalım
SELECT * FROM Ogrenciler ORDER BY Adi
Bu örnekte SELECT * FROM Ogrenciler ORDER BY Adi komutlar ile
Ogrenciler tablosundaki bütün kayıtlar Adi alanına göre sıralı olarak listelenirler.
INSERT DEYİMİ
Veritabanındaki tabloya insert deyimi ile tabloya veri girişi
yapılır.Yapısı:
INSERT [INTO] tablo_adı (sütun_listesi)
VALUES (değer_listesi)
Bir örnek verelim.Ogrenciler tablosona Ogrencino,Adi,Soyadi
alanlarını oluşturalım.
INSERT INTO `ogrenciler` (`Ogrencino`,`Adi`,`Soyadi`,)
VALUES ('2006015215048','Okan','Ka',);
Bu örneğimizde tablomuza INSERT INTO `ogrenciler` (`Ogrencino`,`Adi`,`Soyadi`,)
satırı ile alanlarımı belirttik ve VALUES ('2006015215048','Okan','Ka',); bu satırlardada
alanlarımıza yeni kayıtları atadık.
UPDATE DEYİMİ
Tablomuza önceden kayıtları yapılmış bilgilerin güncellenmesi
için kullanılır. Yapısı
UPDATE tablo_adı SET güncelleştirme_listesi {sütun_adı1 = yeni değer1, sütun_adı2
= yeni değer2, …}
[WHERE koşul]
Bir örnek verelim.Bu örneğimiz yukarıda insert deyimiyle eklediğimiz
bilgilerin güncellenmesi
UPDATE `ogrenciler`
Set Adi=`Ahmet` , Soyadi=`Dk`
where `Ogrencino` like '2006015215048'
Bu örneğimizde UPDATE `ogrenciler` komutu ile güncellenmesi
yapılacak tablonun adı , Set Adi=`Ahmet` , Soyadi=`Dk` bu komutlar ile Adi,Soyadi
alanlarının yeni değerleri ve where `Ogrencino` like '2006015215048' bu komutlarla
Ogrencino 'su 2006015215048 olan kayıtı değiştir.Eğer WHERE ile koşul belirtilmezse
tüm kayıtlar üzerinde işlem yapılır.
DELETE DEYİMİ
DELETE deyimi ile bir tablonun bir ya da daha çok satırının
silinmesi sağlanır.Yapısı :
DELETE FROM tablo_adı
[WHERE koşul]
Bir örnek verelim. Daha önceden tablomuzda kayıtlı olan bir bilgiyi silelim.
Delete from Ogrenciler
Where Ogrencino like `2006015215048`
Yukarıdaki örneğimizde Delete from Ogrenciler komutları
ile hangi tablodaki bilginin silineceği ve Where Ogrencino like `2006015215048`
where koşulu ile hangi kayıttın silineceği belirtilir.WHERE ile koşul belirtilmezse
tüm kayıtlar silinir. Bu yüzden veri kaybını önlemek için koşul belirtmeye dikkat
edilmelidir.
<< Geri
|