SQL İfadeleri ve Sözdizimi (Syntax)

Veritabanın da gerçekleştirmeniz gereken işlemlerin çoğu, SQL ifadeleriyle yapılır.

Bir veritabanı bir veya daha fazla tablo içerir. Her tablo bir adla tanımlanır (örneğin, "Müşteriler" veya "Siparişler"). Tablolar veri içeren kayıtları (satırlar) içerir. SQL anahtar kelimeleri büyük / küçük harfe duyarlı DEĞİLDİR: seçim SELECT ile aynıdır. Bu yazıda tüm SQL anahtar kelimelerini büyük harf olarak yazacağız.


SQL İfadeleri Sonrasın da Kullanılan Noktalı Virgül (;) Neden Gerekli ?


Bazı veritabanı sistemleri, her SQL ifadesinin sonunda noktalı virgül gerektirir. Noktalı virgül, her SQL ifadesini, aynı çağrıda sunucuya birden fazla SQL ifadesinin çalıştırılmasına izin veren veritabanı sistemlerinde ayırmanın standart yoludur.

En Önemli SQL Komutlarından Bazıları Şunlardır;

→ SELECT - bir veritabanından veri listeler
→ UPDATE - veritabanındaki verileri günceller
→ DELETE - bir veritabanından veri siler
→ INSERT INTO - bir veritabanına yeni veriler ekler
→ CREATE DATABASE - yeni bir veritabanı oluşturur
→ ALTER DATABASE - bir veritabanını değiştirir
→ CREATE TABLE - yeni bir tablo oluşturur
→ ALTER TABLE - bir tabloyu değiştirir
→ DROP TABLE - bir tabloyu siler
→ CREATE INDEX - bir dizin oluşturur (arama anahtarı)
→ DROP INDEX - bir dizini siler


► SELECT Kullanımı

SELECT ifadesi bir veritabanından veri seçmek için kullanılır. Döndürülen veriler, sonuç kümesi olarak adlandırılan bir sonuç tablosunda saklanır.

SELECT ad, soyad FROM musteriler;


Burada, ad, soyad veriyi seçmek istediğiniz tablonun alan adlarıdır. Tablodaki tüm alanları seçmek istiyorsanız, aşağıdaki söz dizimini kullanmanız gerekir:

SELECT * FROM musteriler;


► INSERT INTO Kullanımı

INSERT INTO ifadesi bir tabloya yeni kayıtlar eklemek için kullanılır. INSERT INTO ifadesini iki şekilde yazmak mümkündür. İlk yöntem, hem sütun adlarını hem de eklenecek değerleri belirtir:

INSERT INTO musteriler (ad, soyad, telefon) VALUES (oğuzhan, inan, 12345678910);


Tablonun tüm sütunları için değer ekliyorsanız, SQL sorgusunda sütun adlarını belirtmeniz gerekmez. Ancak, değerlerin sırasının tablodaki sütunlarla aynı sırada olduğundan emin olun. INSERT INTO bu yöntemi şu şekildedir:

INSERT INTO musteriler VALUES (oğuzhan, inan, 12345678910);


► UPDATE Kullanımı

UPDATE ifadesi, tablodaki varolan kayıtları değiştirmek için kullanılır. Tablodaki kayıtları güncellerken dikkat edilmesi gerekioyor UPDATE ifadesindeki WHERE yan tümcesine dikkat edin. WHERE ifadesi, hangi kayıtların güncellenmesi gerektiğini belirtir. WHERE yan tümcesini çıkarırsanız, tablodaki tüm kayıtlar güncellenecektir!

UPDATE musteriler SET ad = hakan, soyad = düzenli WHERE musteriID = 2;


► DELETE Kullanımı

DELETE ifadesi, bir tablodaki mevcut kayıtları silmek için kullanılır. Tablodaki kayıtları silerken dikkat edilmesi gerekioyor DELETE ifadesindeki WHERE yan tümcesine dikkat edin. WHERE ifadesi, hangi kayıtların silinmesi gerektiğini belirtir. WHERE yan tümcesini çıkarırsanız, tablodaki tüm kayıtlar silinecektir!

DELETE FROM musteriler WHERE musteriID = 2;


► WHERE Kullanımı

WHERE ifadesi kayıtları filtrelemek için kullanılır. WHERE ifadesi, yalnızca belirtilen koşulu yerine getiren kayıtları çıkarmak için kullanılır. SQL, metin değerleri etrafında tek tırnaklar gerektirir (çoğu veritabanı sistemi çift tırnaklara da izin verir). Ancak, sayısal alanlar tırnak işaretleri içine alınmamalıdır. İki örnek ile gösterimi:

SELECT ad, soyad FROM musteriler WHERE sehir='ankara';
DELETE FROM musteriler WHERE musteriID = 2;


Where ifadesinde birden fazla operatör kullanarak çeşitli koşullar belirtebilirsiniz. Sıkça Kullanılan operatörler Şu şekildedir.

= (Eşittir)
> (Büyüktür)
< (Küçüktür)
>= (Büyük Eşit)
<= (Küçük Eşit)
<> (Eşit Değildir) Bazı SQL versiyonlarında != olarakta kullanılır.
BETWEEN (Belirli Bir Değerler Arasında)
LIKE (Belirlenen Şarta Göre Arama Yapar)
IN (Bir Sütun İçin Birden Fazla Olası Değer Belirtmek İçin)

► LEFT JOIN Kullanımı

LEFT JOIN anahtar sözcüğü, sol tablodaki (tablo1) tüm kayıtları ve sağ tablodaki eşleşen kayıtları (tablo2) döndürür. Eşleşme yoksa, sonuç sağdan NULL olur. LEFT JOIN anahtar sözcüğü, sağ tabloda eşleşme olmasa bile (Siparişler) sol tablodaki (Müşteriler) tüm kayıtları döndürür. Biz bu kullanımda sağ tabloyu Siparişler olarak alalım.

SELECT musteriler.ad, musteriler.soyad FROM musteriler LEFT JOIN siparisler ON 
musteriler.musteriID=siparisler.musteriID;


► ORDER BY Kullanımı

ORDER BY anahtar sözcüğü, sonuç kümesini artan veya azalan düzende sıralamak için kullanılır. ORDER BY anahtar sözcüğü, kayıtları varsayılan olarak artan düzende sıralar. Kayıtları azalan düzende sıralamak için DESC anahtar sözcüğünü kullanın.

SELECT ad, soyad FROM musteriler ORDER BY ad;


Artan Düzen İçin ASC ifadesi kullanılır fakat ORDER BY varsayılan olarak yazıldığında artan düzen şeklinde sıralama yapar. İsteğinize Bağlı olarak yine kullanabilirsiniz.

SELECT * FROM musteriler ORDER BY ad DESC;

Aynı sorgu da hem DESC hem de ASC kullanılabilir 2 farklı koşul belirttiğiniz takdir de sıralamayı ona göre yapacaktır. Aşağıdaki SQL ifadesi, "ad" a göre artan ve "soyad" sütununa göre azalan "Müşteriler" tablosundan tüm müşterileri listeler:

SELECT * FROM musteriler ORDER BY ad ASC, soyad DESC;


► GROUP BY Kullanımı

GROUP BY ifadesi, "her şehirde ki müşteri sayısını bulmak" gibi aynı değerlere sahip satırları özet satırlarda gruplandırır. GROUP BY ifadesi, sonuç kümesini bir veya daha fazla sütuna göre gruplamak için genellikle toplama işlevleriyle (COUNT, MAX, MIN, SUM, AVG) kullanılır.

SELECT COUNT(musteriID), sehir FROM musteriler GROUP BY sehir;

Yorum Yap