SQL Temelleri: Sorgu Yapısı ve Veritabanı Yönetimi - DERSLER - BİLGİ MERKEZİ | Bilginin Merkezi

SQL Temelleri: Sorgu Yapısı ve Veritabanı Yönetimi - DERSLER - BİLGİ MERKEZİ | Bilginin Merkezi

SQL Temelleri: Sorgu Yapısı ve Veritabanı Yönetimi


08 Ekim 2025

SQL Temelleri: Sorgu Yapısı ve Veritabanı Yönetimi

SQL (Structured Query Language), yapılandırılmış veri sorgulama dili anlamına gelir ve ilişkisel veritabanı yönetim sistemleri (RDBMS) ile iletişim kurmak için kullanılan standart bir dildir. Verileri depolamak, güncellemek, silmek ve sorgulamak için kullanılır. Bu makalede, SQL'in temel kavramlarına, sorgu yapısına ve en sık kullanılan komutlara derinlemesine bir bakış sunacağız.

SQL'e Giriş

Veritabanları, bilgileri düzenli bir şekilde saklamak ve yönetmek için kullanılır. SQL, bu veritabanlarına erişmek ve verileri işlemek için kullanılan güçlü bir araçtır. İster küçük bir web sitesi işletiyor olun, ister büyük bir kurumsal veri ambarını yönetiyor olun, SQL bilgisi günümüzün veri odaklı dünyasında son derece değerlidir.

Temel SQL Kavramları

  • Veritabanı (Database): Birbiriyle ilişkili verilerin organize bir şekilde toplandığı yerdir.
  • Tablo (Table): Verilerin satır ve sütunlar halinde düzenlendiği yapıdır. Her sütun belirli bir veri tipini (örneğin, metin, sayı, tarih) temsil eder.
  • Satır (Row) / Kayıt (Record): Tablodaki her bir veri öğesini temsil eder.
  • Sütun (Column) / Alan (Field): Tablodaki her bir özelliği temsil eder.
  • Anahtar (Key): Tablolardaki verileri benzersiz bir şekilde tanımlamak ve tablolar arası ilişkiler kurmak için kullanılan alanlardır. Örneğin, birincil anahtar (primary key) ve yabancı anahtar (foreign key).

SQL Sorgu Yapısı

SQL sorguları, veritabanından veri çekmek, veri eklemek, güncellemek veya silmek için kullanılan komutlardır. Temel bir SQL sorgusu şu öğelerden oluşur:

  • SELECT: Hangi sütunların seçileceğini belirtir.
  • FROM: Hangi tablodan veri çekileceğini belirtir.
  • WHERE: Hangi koşullara göre verilerin filtreleneceğini belirtir.
  • GROUP BY: Verilerin nasıl gruplandırılacağını belirtir.
  • ORDER BY: Verilerin hangi sütuna göre sıralanacağını belirtir.
  • HAVING: Gruplandırılmış veriler üzerinde hangi koşulların uygulanacağını belirtir (WHERE ifadesinin GROUP BY ile kullanılmış halidir).

Temel SQL Komutları

İşte en sık kullanılan SQL komutlarından bazıları ve örnek kullanımları:

1. SELECT Komutu

Tablodan veri çekmek için kullanılır.

SELECT sütun1, sütun2 FROM tablo_adı WHERE koşul;

Örneğin, "Musteriler" tablosundan "Ad" ve "Soyad" sütunlarını çekmek için:

SELECT Ad, Soyad FROM Musteriler;

Eğer tüm sütunları çekmek isterseniz, yıldız (*) karakterini kullanabilirsiniz:

SELECT * FROM Musteriler;

2. INSERT INTO Komutu

Tabloya yeni veri eklemek için kullanılır.

INSERT INTO tablo_adı (sütun1, sütun2, ...) VALUES (değer1, değer2, ...);

Örneğin, "Musteriler" tablosuna yeni bir müşteri eklemek için:

INSERT INTO Musteriler (Ad, Soyad, Eposta) VALUES ('Ahmet', 'Yılmaz', 'ahmet.yilmaz@example.com');

3. UPDATE Komutu

Tablodaki mevcut verileri güncellemek için kullanılır.

UPDATE tablo_adı SET sütun1 = değer1, sütun2 = değer2 WHERE koşul;

Örneğin, "Musteriler" tablosunda ID'si 1 olan müşterinin e-posta adresini güncellemek için:

UPDATE Musteriler SET Eposta = 'yeni.eposta@example.com' WHERE ID = 1;

4. DELETE FROM Komutu

Tablodan veri silmek için kullanılır.

DELETE FROM tablo_adı WHERE koşul;

Örneğin, "Musteriler" tablosunda ID'si 1 olan müşteriyi silmek için:

DELETE FROM Musteriler WHERE ID = 1;

5. WHERE Koşulu

Sorgularda belirli koşulları sağlamayan verileri filtrelemek için kullanılır.

SELECT * FROM tablo_adı WHERE sütun adı operatör değer;

En sık kullanılan operatörler şunlardır:

  • =: Eşittir
  • != veya <>: Eşit Değildir
  • >: Büyüktür
  • <: Küçüktür
  • >=: Büyük veya Eşittir
  • <=: Küçük veya Eşittir
  • LIKE: Belirli bir desene uyan değerleri bulmak için kullanılır (örneğin, 'A%' ile başlayan değerler).
  • IN: Belirli bir listedeki değerlerden herhangi birine eşit olan değerleri bulmak için kullanılır.
  • BETWEEN: Belirli bir aralıktaki değerleri bulmak için kullanılır.
  • IS NULL: Boş (null) değerleri bulmak için kullanılır.
  • IS NOT NULL: Boş olmayan değerleri bulmak için kullanılır.

Örneğin, "Musteriler" tablosundan e-posta adresi "@example.com" ile biten müşterileri çekmek için:

SELECT * FROM Musteriler WHERE Eposta LIKE '%@example.com';

6. ORDER BY Komutu

Sorgu sonuçlarını belirli bir sütuna göre sıralamak için kullanılır.

SELECT * FROM tablo_adı ORDER BY sütun_adı ASC|DESC;

ASC (Ascending) artan sıralama (varsayılan).DESC (Descending) azalan sıralama.

Örneğin, "Musteriler" tablosundaki müşterileri soyadlarına göre alfabetik olarak sıralamak için:

SELECT * FROM Musteriler ORDER BY Soyad ASC;

7. GROUP BY Komutu

Verileri belirli bir sütuna göre gruplandırmak için kullanılır. Genellikle toplama fonksiyonları (COUNT, SUM, AVG, MIN, MAX) ile birlikte kullanılır.

SELECT sütun_adı, toplama_fonksiyonu(sütun_adı) FROM tablo_adı GROUP BY sütun_adı;

Örneğin, "Siparisler" tablosunda her müşteri için toplam sipariş sayısını bulmak için:

SELECT MusteriID, COUNT(*) AS ToplamSiparis FROM Siparisler GROUP BY MusteriID;

8. JOIN İşlemleri

Birden fazla tablodan veri çekmek için kullanılır. İlişkisel veritabanlarında tablolar arasındaki ilişkileri kullanarak verileri birleştirmemizi sağlar.

  • INNER JOIN: Her iki tabloda da eşleşen satırları döndürür.
  • LEFT JOIN: Sol tablodaki tüm satırları ve sağ tablodaki eşleşen satırları döndürür. Eşleşme yoksa, sağ tablodaki sütunlar için NULL değerleri döndürülür.
  • RIGHT JOIN: Sağ tablodaki tüm satırları ve sol tablodaki eşleşen satırları döndürür. Eşleşme yoksa, sol tablodaki sütunlar için NULL değerleri döndürülür.
  • FULL OUTER JOIN: Her iki tablodaki tüm satırları döndürür. Eşleşme yoksa, ilgili tablodaki sütunlar için NULL değerleri döndürülür.

Örneğin, "Musteriler" ve "Siparisler" tablolarını birleştirerek her müşterinin siparişlerini çekmek için (INNER JOIN):

SELECT Musteriler.Ad, Musteriler.Soyad, Siparisler.SiparisTarihi FROM Musteriler INNER JOIN Siparisler ON Musteriler.ID = Siparisler.MusteriID;

SQL İpuçları ve En İyi Uygulamalar

  • İndeksler Kullanın: Sorgu performansını artırmak için sıkça kullanılan sütunlara indeksler ekleyin.
  • Sadece Gerekli Sütunları Seçin: Performansı artırmak için SELECT * yerine sadece ihtiyacınız olan sütunları seçin.
  • WHERE Koşullarını Optimize Edin: Karmaşık WHERE koşulları yerine daha basit ve etkili koşullar kullanın.
  • JOIN İşlemlerini Dikkatli Kullanın: Gereksiz JOIN işlemlerinden kaçının ve doğru JOIN türünü kullanın.
  • Veritabanı Tasarımına Özen Gösterin: İyi bir veritabanı tasarımı, sorgu performansını ve veri bütünlüğünü artırır.

Sonuç

SQL, veritabanı yönetimi ve veri analizi için vazgeçilmez bir araçtır. Bu makalede, SQL'in temel kavramlarını, sorgu yapısını ve en sık kullanılan komutlarını ele aldık. Bu bilgileri kullanarak, veritabanlarınızla etkileşim kurabilir, verileri sorgulayabilir, güncelleyebilir ve yönetebilirsiniz. SQL öğrenmeye devam ederek, veri odaklı projelerinizde daha başarılı olabilirsiniz.


Facebook X