[Makale]T-SQL’İn Anahtar Kelimeleri

  • Konbuyu başlatan Konbuyu başlatan DeTaFiLL
  • Başlangıç tarihi Başlangıç tarihi

DeTaFiLL

<marquee><b><font color="#0066FF">PhotoShop Expert
Katılım
17 Haz 2008
Mesajlar
378
Reaction score
6
Puanları
18
Yaş
38
Konum
Istanbul/Kartal
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
 
Son düzenleme:
Cevap: [Makale]T-SQL’İn Anahtar Kelimeleri

Oooouv Teşekkurler Gercekten İşe yarar Bilgiler.
 
Cevap: [Makale]T-SQL’İn Anahtar Kelimeleri

Paylaşım iÇin teşekkürler;)
 
Geri
Üst Alt