- Microsoft’un veri tabanı sorgulama dilidir. Transact-SQL, SQL Server ve istemci (client) arasında iletişimi sağlayan SQL sorgulama dilinin gelişmiş bir versiyonudur. Transact Structured Query Language kelimelerinin kısaltmasıdır.
- T-SQL kullanarak veri tabanına kayıt eklenebilir, silinebilir, güncellenebilir ya da sorgulama ve raporlama yapılabilir.
- T-SQL ile döngü veya mantıksal işlemler yapmak için bir derleyiciye gerek yoktur.
- Herhangi bir programlama dili öğrenmeden de T-SQL ile tüm amaçlarınıza hitap edecek projeler gerçekleştirebilirsiniz.
- T-SQL ifadelerini çalıştırabilmek için bir Management Studio ile SQL Server’a erişmeniz gerekir.
- Komutları işlevlerine göre şu şekilde ayrılır:
- DDL(Data Definition Language): Veri Tanımlama Dili
- DML (Data Manipulation Language): Veri İşleme Dili
- DCL (Data Control Language): Veri Kontrol Dili
Veri Tanımlama Dili (DDL)
Sql Server içinde veritabanı, tablo ve kullanıcı tanımlı veri tipleri gibi nesneler oluşturmak ve bunları yapılandırmak için kullanılır. Temel komutları şunlardır:
- CREATE (Nesne oluşturmak)
- ALTER (Nesnede değişiklik yapmak)
- DROP (Nesne silmek)
Not: ALTER komutu nesnelerin “adını” değiştirmek için kullanılamaz.
Kullanılışı:
CREATE nesne_tipi nesne_adiCREATE DATABASE Person
Person isimli veritabanı oluşturur.
—————————————————————
CREATE TABLE Personel ( Personel_Id int, AD varchar (10), SOYAD varchar(10), )
Personel isimli bir tablo oluşturur. Tablo Sütunları da Personel_Id, AD ve SOYAD dır.

Sütun adında türkçe karakter veya boşluk kullanılacaksa ifade köşeli paranteze alınmalı [ ] Yani şöyle:
[BABA ADI]
—————————————————————
ALTER nesne_tipi nesne_adi degisim_cumlesiALTER TABLE Personel ADD BABA_AD varchar(20) NOT NULL
Personel isimli tabloya BABA_AD isimli sütun ekler. 20 karakter olarak ayarlanan bu alan ve boş bırakılamaz.
—————————————————————
ALTER nesne_tipi nesne_adi
degisim_cumlesi
ALTER TABLE Personel ALTER COLUMN AD varchar (5)
AD isimli sütunu sadece 5 karakter girilebilecek şekilde günceller.
—————————————————————
DROP nesne_tipi nesne_adi
DROP TABLE Personel
Personel isimli tabloyu tamamen siler.
—————————————————————
Veri Tabanı Adı Değiştirme
SP_RENAMEDB eski_ad, yeni_ad
SP_RENAMEDB Person, Elemanlar
Person isimli veritabanı Elemanlar olarak güncellenir.
Tablo Adı Değiştirme
SP_RENAME eski_ad, yeni_ad
SP_RENAME Personel, insanlar
Personel isimli tablo adı insanlar olarak güncellenir.
—————————————————————
Veri İşleme Dili (DML)
Veri tabanı içindeki veriler ile ilgili işlemler yapılmasını sağlar. Temel komutları şunlardır:
- SELECT (Verileri seçmek)
- INSERT (Yeni veriler eklemek)
- UPDATE (Veriler üzerinde değişiklik-güncelleme yapmak)
- DELETE (Veri silmek)
Kullanılışı:
SELECT sütunadi1, sütunadi2, sütunadi3 …
FROM tablo_adi
WHERE koşul
SELECT AD, SOYAD FROM Personel
Personel tablosundan ad ve soyad sütunları seçilir.
—————————————————–
SELECT * FROM Personel
Personel tablosundaki her şey seçilir.
—————————————————–
SELECT * FROM Personel WHERE AD='ALİ'
PERSONEL tablosunun AD bölümündeki ALİ leri seçer.
—————————————————–
SELECT * FROM Personel WHERE AD LIKE '%U%'
Personel tablosundan ADının ortasında U harfi olanları seçer. ilk harfleri ve son harfleri ne olursa olsun.
—————————————————–
SELECT * FROM Personel WHERE MAAS LIKE '%8'
Personel tablosundan MAAS ının sonu 8 ile bitenleri seçer. ilk rakamlar/kısım
ne olursa olsun.
—————————————————–
SELECT * FROM Personel WHERE AD LIKE 'NA%'
Personel tablosundan AD ı NA ile başlayanları seçer. sonu ne olursa olsun.
—————————————————–
SELECT * FROM Personel WHERE AD LIKE '[B-H]%'
Personel tablosundan AD ı B den H ye kadar olanları seçer. sonu ne olursa olsun.
—————————————————–
SELECT * FROM Personel WHERE AD LIKE '[B-H]E%'
Personel tablosundan AD ı B den H ye kadar olanlardan başlayanlar,
ikinci harfi E olanları seçer. sonu ne olursa olsun.
—————————————————–
SELECT * FROM Personel WHERE AD LIKE '[B-H]_[ML]%'
Personel tablosundan ADı B den H ye kadar olan harflerden başlayıp,
ikinci harfinden sonrası M ya da L olanları seçer. sonu ne olursa olsun.
( _ (alt tire ) herhangi bir karakter demektir. )
—————————————————–
SELECT * FROM Personel WHERE AD LIKE '%[NTU]'
Personel tablosundan ADı N veya T veya U ile bitenleri seçer. başı ne
olursa olsun.
—————————————————–
SELECT * FROM Personel WHERE AD LIKE '[^B-H]%'
Personel tablosundan ADı B den H ye kadar olanların dışındakiler seçilir.
Sonu ne olursa olsun.
—————————————————–
SELECT * FROM Personel WHERE AD NOT LIKE '[B-H]%'
Personel tablosundan ADı B den H ye kadar olanların dışındakiler ve sonu ne olursa olsun diyemeyeceğimiz veriler seçilir.
Burada bir üstteki ifadeden farklı olan şey ^ işaretinden sadece parantez içi
etkileniyorken NOT ifadesi ile tüm ifadenin etkilenmesidir.
—————————————————–
SELECT * FROM Personel WHERE MAAS >1000 AND BİRİMİ='TL'
Personel tablosundan MAASı 1000 den yüksek ve BİRİMi TL olanları seçer.
—————————————————–
SELECT * FROM Personel WHERE MAAS>1000 OR BİRİMİ='TL'
Personel tablosundan MAASı 1000 den yüksek veya Birimi TL olanları seçer.
—————————————————–
SELECT * FROM Personel WHERE (MAAS BETWEEN 1000 AND 1500) AND DEPARTMAN='GUVENLİK'
Personel tablosundan MAASı 1000 ile 1500 arasında olmakla birlikte DEPARTMANI güvenlik olanları seçer.
—————————————————–
SELECT * FROM Personel WHERE (MAAS SELECT * FROM Personel WHERE (MAAS > BETWEEN 1000 AND 1500) AND DEPARTMAN='GUVENLİK' OR 'SEKRETER')
Personel tablosundan (DEPARTMANI güvenlik veya sekreter olanlar) ve (MAASı 1000 ve 1500 arasında olanlar) seçilir.
—————————————————–
SELECT * FROM Personel WHERE (MAAS NOT BETWEEN 1000 AND 1500) AND (DEPARTMANI IN ('GUVENLİK', 'SEKRETER', 'HİZMETLİ'))
Personel tablosundan (MAASı 1000 ve 1500 arasında olmayanlar) ve (DEPARTMANI güvenlik veya sekreter veya hizmetli olanlar) seçilir.
—————————————————–

