SQL
Structured Query Language
Yapılandırılmış Sorgu Dili (SQL), ilişkisel veritabanlarını yönetmek için kullanılan bir dildir. Veritabanları bilgileri depolar ve ardından bu bilgilerin erişilmesine ve değiştirilmesine izin verir. Bu süreçte veritabanını, verileri yönetmek için SQL dili ile haberleşme sağlanır.
SQL, bir programlama dili olmamasına rağmen birçok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri tabanı ortamında kullanılan bir alt dildir. SQL ile yalnızca veri tabanı üzerinde işlem yapılabilir; veritabanlarında bulunan sistemlere veri ekleme, veri değiştirme, veri silme ve sorgulama için kullanılmaktadır. Özellikle de ilişkisel veritabanı sistemleri üzerinde yoğun olarak kullanılmaktadır.
Transact-SQL (T-SQL)
SQL dilinin yeteneklerinin sınırlı olması sebebiyle, SQL üzerine çeşitli iyileştirmeler ve eklemeler yapılmıştır. Örneğin Oracle firması SQL üzerine yaptığı iyileştirmeleri standartlaştırmış ve PL-SQL adını vermiş ve geliştiricilerine sunmuştur. Microsoft kendi platformu için SQL üzerine yaptığı iyileştirmeleri standart haline getirmiş ve T-SQL ismini vermiştir. Transact-SQL‘in kısaltması olan T-SQL günümüz veritabanı yönetim ihtiyaçlarının tamamını karşılayabilecek yeterliliğe sahiptir.
T-SQL ile veritabanı üzerinde işlem yapabileceğimiz temelde 3 komut türü vardır.
Veri Tanımlama Dili (DDL)
SQL Server içinde veri tabanı, tablo ve kullanıcı tanımlı veri tipleri gibi nesneler oluşturmak ve bunları yapılandırmak için kullanılır.
Temel komutları aşağıdaki şekildedir:
- CREATE
- ALTER
- DROP
Veri İşleme Dili (DML)
Veri tabanı içindeki veriler ile ilgili işlemler yapılmasını sağlar. Temel komutları aşağıdaki şekildedir.
- SELECT: Veri tabanındaki verileri seçmeyi sağlar.
- UPDATE: Veriler üzerinde değişiklik (güncelleme) yapmak için kullanılır.
- DELETE: Veri tabanından veri silmek için kullanılır.
- INSERT: Veri tabanına yeni veriler eklemek için kullanılır.
Veri Kontrol Dili (DCL)
DCL, bir veri tabanı ile ilişkili kullanıcıları ve rollerin izinlerini de ğiştirmek için kullanılır. Di ğer bir deyişle verilere erişim yetkilerini düzenlemede kullanılır. Temel komutları aşağıdaki şekildedir.
- GRANT: Bir kullanıcının verileri kullanmasına ve T-SQL komutlarını çalıştırmasına izin verir.
- DENY: Bir kullanıcının verileri kullanmasını kısıtlar
- REVOKE: Daha önce yapılan tüm kısıtlama ve izinleri iptal eder.
DCL komutlarını kullanabilmek için SQL Server’da varsayılan de ğer (default) olarak yetki sahibi olan gruplar: sysadmin , dbcreator , db_owner , db_securityadmin ‘dir. Sunucuya dışarıdan bir erişim sa ğlamak için bir giriş (login) oluşturulmalıdır.
Syntax
Select komutu için basitce syntax:
SELECT firstColoumnName, secondColumnName,…NcolumnName FROM tableName;
Diyelim ki sütunları belirtmek zorunda kalmak istemiyorsunuz, tüm sütunları getirmek için* sembolünü kullanabilirsiniz.
SELECT * FROM tableName;
Delete komutu için syntax:
DELETE FROM table_name WHERE condition;
Update komutu için syntax:
UPDATE table_name
SET column1 = value1, column2 = value2, …
WHERE condition;
İnsert Into komutu için syntax:
INSERT INTO table_name (column1, column2, column3, …)
VALUES (value1, value2, value3, …);
Select Top: Döndürülecek kayıtların sayısını belirtmek için kullanılır.
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;
WHERE yalnızca belirli bir koşulu karşılayan kayıtları ayıklamak için kullanılır.
SELECT column1, column2, …
FROM table_name
WHERE condition;
MIN() :seçilen sütunun en küçük değerini döndürür.
SELECT MIN(column_name)
FROM table_name
WHERE condition;
MAX() :seçilen sütunun en büyük değerini döndürür.
SELECT MAX(column_name)
FROM table_name
WHERE condition;
COUNT () :belirtilen ölçütlerle eşleşen satır sayısını döndürür.
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
AVG () : sayısal bir sütunun ortalama değerini döndürür.
SELECT AVG(column_name)
FROM table_name
WHERE condition;
LIKE operatörü, bir sütundaki belirli bir modeli aramak için bir WHERE yan tümcesinde kullanılır.
Genellikle LIKE işleci ile birlikte kullanılan iki joker karakter vardır:
% — Yüzde işareti sıfır, bir veya birden çok karakteri temsil eder
_ — Alt çizgi tek bir karakteri temsil eder
SELECT column1, column2, …
FROM table_name
WHERE columnN LIKE pattern;
BETWEEN operatörü, belirli bir aralıktaki değerleri seçer. Değerler sayılar, metin veya tarihler olabilir.
BETWEEN operatörü kapsayıcıdır: başlangıç ve bitiş değerleri dahildir.
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
SELECT DISTINCT komutu yalnızca farklı (farklı) değerleri döndürmek için kullanılır.
Bir tablonun içinde, bir sütun genellikle birçok yinelenen değer içerir; ve bazen yalnızca farklı (farklı) değerleri listelemek istersiniz.
SELECT DISTINCT column1, column2, …
FROM table_name;
Sql’de öğreneceğimiz ilk komutlar bu şekilde…Bunlar aynı zamanda en çok kullanacaklarımız. Bir sonraki yazıda diğer önemli komutlarla devam etmeyi düşünüyorum.
İyi çalışmalar.