DeTaFiLL
<marquee><b><font color="#0066FF">PhotoShop Expert
T-SQL’İN ANAHTAR KELİMELERİ
T-SQL’de birçok anahtar sözcük kullanırız. Bu anahtar sözcükleri aşağıdaki gibi gruplandırabiliriz.
* Veriye Erişim (Data Retrieval)
* Veri Kullanımı (Data Manipulation)
* Veri İşlem Kümesi (Data Transactions)
* Veri Tanımlama (Data Definition)
* Veri Kontrolü (Data Control)
Şimdi sırasıyla bu gruplandırma üzerinden giderek, T-SQL’deki anahtar sözcükleri inceleyelim.
Verİye ErİŞİm (Data Retrieval)
Veritabanlarında en sık gerçekleştirilen işlem, veriye erişim işlemidir. Veriye erişim komutları değiştirildiği zaman, SQL bir fonksiyonel dil gibi hareket eder. Veriye erişim sırasında şu anahtar kelimeleri kullanırız:
SELECT
Veritabanında bulunan, bir veya daha fazla tablo içerisindeki verilere ulaşabilmek için kullanılır. Birçok uygulamada SELECT ifadesi en çok kullanılan DML (Data Manipulation Language) veri işleme dili komutudur. Özelleştirilmiş bir SELECT sorgusunda, kullanıcı istediği sonucu elde edebileceği bir tanımlama yapar. Fakat kullanıcı istediği sonuç kümesini elde etmek için yapılacak fiziksel işlemleri belirleyemez.
SELECT ile kullanılan SQL anahtar kelimeleri;
* FROM
Verinin hangi tablodan alınacağını göstermesiyle birlikte, tabloların nasıl biraraya geleceğini de göstermektedir.
* WHERE
Erişilecek veri satırlarını belirlemek için kullanılır.
* GROUP BY
Karmaşık satır kümelerinde bulunan değerlerin, daha küçük satır kümelerine, bir grup oluşturacak şekilde taşınmasını sağlar. Daha çok karmaşık verileri gruplamak için kullanılır.
* HAVING
Erişilen birleştirilmiş satırları belirlemek için kullanılır. Birleştirilmiş satırlar GROUP BY anahtar kelimesini içeren bir sorgu olduğunda elde edilebilir. HAVING, WHERE anahtar sözcüğü gibi hareket ediyor olsada, aslında GROUP BY sorgusunun sonuçları üzerinden hareket eder. Bu bakımdan kümelenmiş (aggreagate) fonksiyonlar kullanır.
* ORDER BY
Sonuçların sıralanması sırasında kullanılan kolonların belirlenmesinde kullanılır.
1.Örnek:
SELECT *
FROM kitaplar
WHERE fiyat > 100.00
ORDER BY baslik
Bu örnek, fiyatı 100 YTL’den fazla olan tüm kitapları göstermektedir. Sonuçlar alfabetik olarak kitap başlıklarına göre sıralanmaktadır. Yıldız (asteriks - *) işareti tablodaki tüm kolonları göster anlamına gelmektedir. Ayrıca, özel olarak kolonlara isim verebilir ve sorgunun istediğiniz bir kolonu göstermesini sağlayabilirsiniz.
2.Örnek:
SELECT k.baslik, COUNT(*) AS Yazarlar
FROM kitaplar AS k, kitapYazarlari AS kY
WHERE k.kitapNumarasi = kY.kitapNumarasi
GROUP BY k.Baslik
Ikinci örneğimizde bir çok tablodan alınmış sonuçları birlikte görmekteyiz.”k” ve “kY” tabloların ikinci isimleri olmakta ve tekrar kullanımlarda kafa karışıklığını önlemektedirler. Bu örneğimizde herbir kitap için kaç yazar olduğunu gösterdik. Sorgu sonucu aşagıdaki gibi bir çıktı alırsınız.
Başlık Yazarlar
SQL Nedir 3
SQL’in Tarihi 1
Learning Oracle 1
Teach Yourself SQL 1
Verİ KullanImI (Data Manipulation)
Veri Kullanma Dili (DML-Data Manipulation Language), verinin eklenmesi, güncellenmesi ve silinmesi için kullanılan dilin bir alt kümesidir.
* INSERT
Veri kümelerini, daha önce oluşturduğumuz bir tabloya eklemek için kullanılır.
* UPDATE
Daha önce oluşturduğumuz tabloların satırlarında bulunan veriler üzerinde değişiklik yapmak, diğer bir ifade ile verileri güncellemek için kullanılır.
* MERGE
Birden fazla tabloda bulunan verileri biraraya getirmek için kullanılır. INSERT ve UPDATE ifadelerinin bir birleşimi gibi düşünülebilir. İfade SQL 2003’te bu şekilde tanımlanmış olup, daha önce kullanılan veritabanlarında benzer fonksiyonlar farklı sözdizilimleri ile ifade edilebiliyordu. Örnegin “merge” ifadesi bazı veritabanlarında “upsert” olarak ifade edilebiliyordu.
* TRUNCATE
Bir tablodaki bütün verileri silmeye yarar. Bir standart olmamakla birlikta, yaygın olarak kullanılan bir SQL komutudur.
* DELETE
Daha önce oluşturduğumuz bir tablonun satırlarındaki veriyi silmeye yarar.
3.Örnek:
INSERT INTO kimlikBilgileri (soyisim, isim, yas) VALUES ('karakusoglu', 'firat', 10);
UPDATE kimlikBilgileri SET yas = 40 WHERE isim = 'firat';
DELETE FROM kimlikBilgileri WHERE isim = 'firat';
Verİ İŞLEM KÜMESİ (Data Transactions)
Transaction, eğer yapılabiliyorsa, veri işleme dili (DML) kuralları çerçevesinde kullanılabilir.
START TRANSACTION || BEGIN WORK
Kullanılan T-SQL standartına bağlı olarak değişebilen bu komut ile transaction yapacağınız veritabanınında transactionı başlatabilirsiniz. Bu komut çalıştığında, transaction ya tam olarak gerçekleşir yada hiç gerçekleşmez.
* COMMIT
Transaction sırasında yapılan değişikliklerin kalıcı olmasını sağlar.
* ROLLBACK
Son yapılan ROLLBACK veya COMMIT’ten sonraki değişiklikleri iptal eder.
COMMIT ve ROLLBACK , transaction kontrolü ve erişim kısıtlaması gibi olaylarda , bir etkileşim içerisindedirler. Her iki komutta açık olan bütün transactionları sona erdirir ve veriler üzerindeki erişim kısıtlarının kalkmasını sağlar.
4.Örnek
START TRANSACTION;
UPDATE urunler SET urunSayisi = urunSayisi - 3 WHERE urunAdi= 'gomlekler';
COMMIT;
Veri Tanımlama (Data Definition)
Veri tanımlama dilini’nin (Data Definition Language- DDL) içerdiği anahtar kelimeler, kullanıcının yeni bir tablo ve ona ilişkin yeni elemanlar tanımlamasına izin verir. . En yaygın kullanılan veritabanlarının, kendi DDL’leri içerisinde, kullanıcılarına standartların üzerinde bir kontrol mekanizması sunan, uzantıları mevcuttur.
En çok kullanılan DDL’ler CREATE ve DROP tur.
* CREATE
Veritabanı içerisinde bir nesnenin oluşturulmasını sağlar. Bu nesne bir tablo olabileceği gibi, bir saklı yordam veya görünüm olabilir.
* DROP
Veritabanı içerisinde daha önce oluşturduğumuz bir nesnenin silinmesini sağlar. Bu silme işlemi geri alınamaz.
Ayrıca bazı veritabanı sistemlerinde bulunan ALTER komutu ile, daha önce oluşturduğumuz bir nesneyi çeşitli yollar kullanarak değiştirebilirsiniz. Örneğin daha önce oluşturduğumuz bir tabloya bir kolon ekleyebilirsiniz.
5.Örnek:
CREATE TABLE calisanlar
(
id INT(3) NOT NULL AUTO_INCREMENT,
soyisim VARCHAR(50),
isim VARCHAR(25),
unvan VARCHAR(10) DEFAULT 'isci' NULL
);
Verİ KontrolÜ (Data Control)
Diğer bir tür T-SQL anahtar sözcükleri ise Veri Kontrol Dilleri (Data Control Language- DCL) kapsamındaki anahtar kelimelerdir. DCL, kullanıcıyı veri erişimi konularında yetkilendirme konularını ele alır ve kullanıcının veritabanına kimin erişim sağladığını görebilmesi gibi izinler verir. İki önemli ahahtar kelimesi vardır, GRANT ve REVOKE.
* GRANT
Bir veya daha fazla sayıda kullanıcının belirli bir nesne üzerinde işlem gerçekleştirebilmesi konusunda, kullanıcıları yetkilendirir.
* REVOKE
Bir veya birden fazla işlemi gerçekleştirebilmesi için kullanıcının yetkilerini sınırlandırma işleminde kullandığımız anahtar kelimedir.
6.Örnek:
GRANT SELECT, UPDATE ON makaleler TO editor1, editor2
T-SQL’de birçok anahtar sözcük kullanırız. Bu anahtar sözcükleri aşağıdaki gibi gruplandırabiliriz.
* Veriye Erişim (Data Retrieval)
* Veri Kullanımı (Data Manipulation)
* Veri İşlem Kümesi (Data Transactions)
* Veri Tanımlama (Data Definition)
* Veri Kontrolü (Data Control)
Şimdi sırasıyla bu gruplandırma üzerinden giderek, T-SQL’deki anahtar sözcükleri inceleyelim.
Verİye ErİŞİm (Data Retrieval)
Veritabanlarında en sık gerçekleştirilen işlem, veriye erişim işlemidir. Veriye erişim komutları değiştirildiği zaman, SQL bir fonksiyonel dil gibi hareket eder. Veriye erişim sırasında şu anahtar kelimeleri kullanırız:
SELECT
Veritabanında bulunan, bir veya daha fazla tablo içerisindeki verilere ulaşabilmek için kullanılır. Birçok uygulamada SELECT ifadesi en çok kullanılan DML (Data Manipulation Language) veri işleme dili komutudur. Özelleştirilmiş bir SELECT sorgusunda, kullanıcı istediği sonucu elde edebileceği bir tanımlama yapar. Fakat kullanıcı istediği sonuç kümesini elde etmek için yapılacak fiziksel işlemleri belirleyemez.
SELECT ile kullanılan SQL anahtar kelimeleri;
* FROM
Verinin hangi tablodan alınacağını göstermesiyle birlikte, tabloların nasıl biraraya geleceğini de göstermektedir.
* WHERE
Erişilecek veri satırlarını belirlemek için kullanılır.
* GROUP BY
Karmaşık satır kümelerinde bulunan değerlerin, daha küçük satır kümelerine, bir grup oluşturacak şekilde taşınmasını sağlar. Daha çok karmaşık verileri gruplamak için kullanılır.
* HAVING
Erişilen birleştirilmiş satırları belirlemek için kullanılır. Birleştirilmiş satırlar GROUP BY anahtar kelimesini içeren bir sorgu olduğunda elde edilebilir. HAVING, WHERE anahtar sözcüğü gibi hareket ediyor olsada, aslında GROUP BY sorgusunun sonuçları üzerinden hareket eder. Bu bakımdan kümelenmiş (aggreagate) fonksiyonlar kullanır.
* ORDER BY
Sonuçların sıralanması sırasında kullanılan kolonların belirlenmesinde kullanılır.
1.Örnek:
SELECT *
FROM kitaplar
WHERE fiyat > 100.00
ORDER BY baslik
Bu örnek, fiyatı 100 YTL’den fazla olan tüm kitapları göstermektedir. Sonuçlar alfabetik olarak kitap başlıklarına göre sıralanmaktadır. Yıldız (asteriks - *) işareti tablodaki tüm kolonları göster anlamına gelmektedir. Ayrıca, özel olarak kolonlara isim verebilir ve sorgunun istediğiniz bir kolonu göstermesini sağlayabilirsiniz.
2.Örnek:
SELECT k.baslik, COUNT(*) AS Yazarlar
FROM kitaplar AS k, kitapYazarlari AS kY
WHERE k.kitapNumarasi = kY.kitapNumarasi
GROUP BY k.Baslik
Ikinci örneğimizde bir çok tablodan alınmış sonuçları birlikte görmekteyiz.”k” ve “kY” tabloların ikinci isimleri olmakta ve tekrar kullanımlarda kafa karışıklığını önlemektedirler. Bu örneğimizde herbir kitap için kaç yazar olduğunu gösterdik. Sorgu sonucu aşagıdaki gibi bir çıktı alırsınız.
Başlık Yazarlar
SQL Nedir 3
SQL’in Tarihi 1
Learning Oracle 1
Teach Yourself SQL 1
Verİ KullanImI (Data Manipulation)
Veri Kullanma Dili (DML-Data Manipulation Language), verinin eklenmesi, güncellenmesi ve silinmesi için kullanılan dilin bir alt kümesidir.
* INSERT
Veri kümelerini, daha önce oluşturduğumuz bir tabloya eklemek için kullanılır.
* UPDATE
Daha önce oluşturduğumuz tabloların satırlarında bulunan veriler üzerinde değişiklik yapmak, diğer bir ifade ile verileri güncellemek için kullanılır.
* MERGE
Birden fazla tabloda bulunan verileri biraraya getirmek için kullanılır. INSERT ve UPDATE ifadelerinin bir birleşimi gibi düşünülebilir. İfade SQL 2003’te bu şekilde tanımlanmış olup, daha önce kullanılan veritabanlarında benzer fonksiyonlar farklı sözdizilimleri ile ifade edilebiliyordu. Örnegin “merge” ifadesi bazı veritabanlarında “upsert” olarak ifade edilebiliyordu.
* TRUNCATE
Bir tablodaki bütün verileri silmeye yarar. Bir standart olmamakla birlikta, yaygın olarak kullanılan bir SQL komutudur.
* DELETE
Daha önce oluşturduğumuz bir tablonun satırlarındaki veriyi silmeye yarar.
3.Örnek:
INSERT INTO kimlikBilgileri (soyisim, isim, yas) VALUES ('karakusoglu', 'firat', 10);
UPDATE kimlikBilgileri SET yas = 40 WHERE isim = 'firat';
DELETE FROM kimlikBilgileri WHERE isim = 'firat';
Verİ İŞLEM KÜMESİ (Data Transactions)
Transaction, eğer yapılabiliyorsa, veri işleme dili (DML) kuralları çerçevesinde kullanılabilir.
START TRANSACTION || BEGIN WORK
Kullanılan T-SQL standartına bağlı olarak değişebilen bu komut ile transaction yapacağınız veritabanınında transactionı başlatabilirsiniz. Bu komut çalıştığında, transaction ya tam olarak gerçekleşir yada hiç gerçekleşmez.
* COMMIT
Transaction sırasında yapılan değişikliklerin kalıcı olmasını sağlar.
* ROLLBACK
Son yapılan ROLLBACK veya COMMIT’ten sonraki değişiklikleri iptal eder.
COMMIT ve ROLLBACK , transaction kontrolü ve erişim kısıtlaması gibi olaylarda , bir etkileşim içerisindedirler. Her iki komutta açık olan bütün transactionları sona erdirir ve veriler üzerindeki erişim kısıtlarının kalkmasını sağlar.
4.Örnek
START TRANSACTION;
UPDATE urunler SET urunSayisi = urunSayisi - 3 WHERE urunAdi= 'gomlekler';
COMMIT;
Veri Tanımlama (Data Definition)
Veri tanımlama dilini’nin (Data Definition Language- DDL) içerdiği anahtar kelimeler, kullanıcının yeni bir tablo ve ona ilişkin yeni elemanlar tanımlamasına izin verir. . En yaygın kullanılan veritabanlarının, kendi DDL’leri içerisinde, kullanıcılarına standartların üzerinde bir kontrol mekanizması sunan, uzantıları mevcuttur.
En çok kullanılan DDL’ler CREATE ve DROP tur.
* CREATE
Veritabanı içerisinde bir nesnenin oluşturulmasını sağlar. Bu nesne bir tablo olabileceği gibi, bir saklı yordam veya görünüm olabilir.
* DROP
Veritabanı içerisinde daha önce oluşturduğumuz bir nesnenin silinmesini sağlar. Bu silme işlemi geri alınamaz.
Ayrıca bazı veritabanı sistemlerinde bulunan ALTER komutu ile, daha önce oluşturduğumuz bir nesneyi çeşitli yollar kullanarak değiştirebilirsiniz. Örneğin daha önce oluşturduğumuz bir tabloya bir kolon ekleyebilirsiniz.
5.Örnek:
CREATE TABLE calisanlar
(
id INT(3) NOT NULL AUTO_INCREMENT,
soyisim VARCHAR(50),
isim VARCHAR(25),
unvan VARCHAR(10) DEFAULT 'isci' NULL
);
Verİ KontrolÜ (Data Control)
Diğer bir tür T-SQL anahtar sözcükleri ise Veri Kontrol Dilleri (Data Control Language- DCL) kapsamındaki anahtar kelimelerdir. DCL, kullanıcıyı veri erişimi konularında yetkilendirme konularını ele alır ve kullanıcının veritabanına kimin erişim sağladığını görebilmesi gibi izinler verir. İki önemli ahahtar kelimesi vardır, GRANT ve REVOKE.
* GRANT
Bir veya daha fazla sayıda kullanıcının belirli bir nesne üzerinde işlem gerçekleştirebilmesi konusunda, kullanıcıları yetkilendirir.
* REVOKE
Bir veya birden fazla işlemi gerçekleştirebilmesi için kullanıcının yetkilerini sınırlandırma işleminde kullandığımız anahtar kelimedir.
6.Örnek:
GRANT SELECT, UPDATE ON makaleler TO editor1, editor2
Son düzenleme: