SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. Bu dersimizde biz Microsoft SQL Server veritabanı sistemini kullanmayı öğreneceğiz. SQL Nedir? SQL Structured Query Language kelimelerinin ilk harflerinden oluşur. SQL bir veri tabanına erişmenizi sağlar. SQL bir ANSI standart bilgisayar lisanıdır. SQL bir veri tabanı ile ilgili sorguları çalıştırmanızı sağlar. SQL bir veri tabanından veri almanızı sağlar. SQL bir veri tabanına yeni kayıt eklemenizi sağlar. SQL bir veri tabanından kayıt silmenizi sağlar. SQL bir veri tabanında kayıtları güncellemenizi sağlar. SQL lisanını öğrenmek kolaydır. Standard SQL SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş ve ANSI (American National Standards Institute) standartlarına uygun bir lisandır. SQL deyimleri bir veri tabanından veri almanızı ve güncellemenizi sağlar. SQL, MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase, vs. gibi veri tabanı programları tarafından kullanılan bir lisandır. Ne yazık ki SQL lisanının pek çok değişik çeşitleri vardır. Fakat bunların hepsi en alt düzeyde ANSI standartlarına uyar. Dolayısıyla bir takım deyimler hepsinde aynidir. (örneğin SELECT, UPDATE, DELETE, INSERT, WHERE, ve diğerleri). SQL Veri Tabanı Tabloları Bir veritabanı çoğu kez bir veya bir çok tablodan barındırır. Her tablonun bir adı vardır. Örneğin Müşteriler, Siparişler gibi. Tablolar Aşağıda Kişiler isimli bir tablo örneği verilmiştir. Ad Adres İl Yusuf Lojmanlar 61 Adana Güzide Üsküdar İstanbul Ayşe Kızılay Ankara
Yukarıdaki tablo 3 kayıt (satır) ve 4 kolon içermektedir. SQL Sorguları SQL kullanarak veri tabanı tablolarını sorgulayabilirsiniz. Aşağıdaki gibi bir sorgu: SELECT FROM Kişiler Aşağıdaki gibi bir sonuç kümesi verir: SQL in Veri İşleme Lisanı (Data Manipulation Language (DML) ) SQL sorguları çalıştırmak, tablolara veri eklemek, tablolardan veri silmek ve tablolardaki satırları güncellemek için kullanılır. Bu işlemleri yapmak için kullanın deyimler SQL in Veri İşleme Lisanı veya DML olarak adlandırılır. Bunun için temel deyimler SELECT Veri tabanından belirli koşullara uygun veri kümesi getirir. UPDATE Veri tabanındaki verileri günceller. DELETE Veri tabanında veri siler. INSERT INTO Veri tabanına veri ekler. SQL in Veri Tanımlama Lisanı (Data Definition Language (DDL)) SQL DDL veri tabanında tablo oluşturmak, indeks oluşturmak veya bunların temel yapısında değişiklik yapmak için kullanılan lisandır. Aynı zamanda iki tablo arasında ilişkiler oluşturmak için DDL kullanılır. En önemli DDL deyimleri CREATE TABLE Veri tabanında yeni bir tablo oluşturur ALTER TABLE Bir tabloda değişiklik yapar DROP TABLE Veri tabanından bir tabloyu siler CREATE INDEX Bir tablo için Index oluşturur. ( Arama anahtarı) DROP INDEX Index i siler
SELECT Sorgu tarafından getirilecek kolonları belirler. SELECT in Temel Yapısı SELECT [ ALL DISTINCT ] [ TOP n [ PERCENT ]] select_listesi [ INTO yeni_tablo ] FROM kaynak_tablolar [ WHERE Arama_koşulu ] [ GROUP BY Gruplama_ifadesi ] [ HAVING Arama_koşulu ] [ ORDER BY Sıralama_koşulu [ ASC DESC ] ] Bu dersimizde select komutu üzerinde duracağız. Aşağıda Kişiler isimli bir tablo örneği verilmiştir. Ad Adres İl Yusuf Lojmanlar 61 Adana Güzide Üsküdar İstanbul Ayşe Kızılay Ankara SELECT, Ad FROM Kişiler Sorgusu Ad Yusuf Güzide Ayşe Kümesini geri getirir. SELECT * FROM Kişiler Sorgusu tüm tabloyu getirir. Bir sorgu sonucu elde edilen bir kümeye sonuç kümesi denir. Pek çok veritabanı sistemi sonuç kümesindeki satırlar arasında ileri ve geri hareketlere izin verir. Kayıtlar üzerinde hareket
etmek İlk Kayda Git, Son Kayda Git, Bir Sonraki Kayda Git veya Bir Önceki Kayda Git gibi komutları kullanabilme yeteneğidir. SELECT DISTINCT FROM Kişiler Sonuç kümesini verir. O halde DISTINCT farklı satırlar anlamında kullanılmaktadır. SELECT ALL FROM Kişiler Sonuç kümesini verir. O halde ALL tüm satırlar anlamında kullanılmaktadır. Veri tabanının yazılmasa da varsaydığı seçim ALL seçimidir. Bunun için yazılması gerekmez. SELECT TOP 1 FROM Kişiler Sonuç kümesini verir. O halde TOP n sonuç kümesinde baştan n tane demektir. WHERE deyimi Temel yapı WHERE Arama_koşulu SELECT Ad, Adres FROM Kişiler WHERE = Ad Adres Yusuf Lojmanlar 61 Güzide Üsküdar Sonuç kümesini verir. O halde WHERE Arama_koşulu Tablo içinde sadece arama_koşulunu sağlayan satırları içermektedir. Arama koşulunun yapısını anlamak için önce bir takım operatörleri anlamak gerekir.
Operatör Tanım = Eşit <> Eşit değil > Büyük < Küçük >= Büyük veya eşit <= Küçük veya eşit BETWEEN Arada ve uçlar dahil LIKE Benzer yapıda