SQL (Structured Query Language), ilişkisel veritabanlarındaki veri yönetimi ve işlenmesi için kullanılan standart bir dildir. Aşağıda, veritabanı işlemlerinin temel adımlarını ve her bir işlemde kullanılan SQL komutlarını örnek kodlarla beraber inceliyoruz.
SQL’de çalışma yaşamının temel taşlarından biri, veri yapısını doğru bir şekilde tanımlamaktır. Bu, veritabanı ve tablo oluşturma işlemlerini içerir. Veritabanlarını oluşturmak; veri saklama alanınızın temel yapıtaşıdır. Örneğin:
CREATE DATABASE VeritabaniAdi;
Yukarıdaki kod, "VeritabaniAdi" adında bir veritabanı oluşturur. Bu veritabanı içerisinde daha sonra çeşitli tablolar oluşturabilirsiniz.
CREATE TABLE Kisiler (
Id INT PRIMARY KEY,
Ad VARCHAR(255),
Soyad VARCHAR(255),
Yas INT
);
Bu örnekte, "Kisiler" isminde bir tablo oluşturulmuş, her kaydın benzersiz Idsi, isim, soyisim ve yaş bilgileri tanımlanmıştır.
Daha sonra veritabanınıza veri eklemek, mevcut verileri güncellemek, silmek ya da sorgulamak için SQL’in temel komutları olan SELECT, INSERT INTO, UPDATE ve DELETE komutlarını kullanırsınız.
Veritabanındaki mevcut verileri görüntülemek için SELECT komutu kullanılır. Temel kullanımı tabloyu tüm satırları ile getirmektir:
SELECT * FROM Kisiler;
Bu sorgu, "Kisiler" tablosundaki tüm kayıtları getirir. Daha spesifik veri çekimi için WHERE koşulu ekleyerek filtreleme yapabilirsiniz:
SELECT * FROM Kisiler WHERE Yas > 30;
Yukarıdaki sorgu, yaşı 30’dan büyük tüm kişilerin bilgilerini seçer. Ayrıca, birden fazla filtreleme koşulunu "AND" ve "OR" operatörleri ile birleştirerek daha karmaşık sorgular oluşturabilirsiniz. Örneğin:
SELECT * FROM Kisiler WHERE Ad = 'Ahmet' AND (Soyad = 'Demir' OR Yas = 25);
Yeni veri eklemek için INSERT INTO komutu kullanılır. Aşağıdaki örnek; "Kisiler" tablosuna yeni bir kayıt ekler:
INSERT INTO Kisiler (Id, Ad, Soyad, Yas)
VALUES (1, 'Ahmet', 'Demir', 28);
Bu komut, belirtilen sütunlara karşılık gelen değerleri kaydeder. Genellikle her kayıt için benzersiz bir Id atamak güvenilir veri bütünlüğü sağlar.
Var olan verilerde değişiklik yapabilmek için UPDATE komutunu kullanabilirsiniz. Örneğin:
UPDATE Kisiler
SET Yas = 30
WHERE Id = 1;
Bu sorgu, Id değeri 1 olan kişinin yaş değerini 30 olarak günceller. UPDATE sorgularında WHERE ifadesi çok önemlidir; aksi halde tüm kayıtlar güncellenir.
Gereksiz ya da hatalı kayıtları veri tabanından kaldırmak için DELETE komutu kullanılır. Örnek:
DELETE FROM Kisiler
WHERE Id = 1;
Bu komut, Id değeri 1 olan kaydı siler. DELETE işlemlerinde, WHERE ifadesi kullanılmazsa tablodaki tüm veriler silinecektir, bu yüzden dikkatli olunması gerekmektedir.
Aşağıdaki tablo, temel SQL komutlarını ve hangi amaçlarla kullanıldıkları hakkında kısa özetler sunmaktadır:
Komut | Amaç | Örnek Kullanım |
---|---|---|
CREATE DATABASE | Yeni veritabanı oluşturmak | CREATE DATABASE VeritabaniAdi; |
CREATE TABLE | Yeni tablo oluşturmak |
|
SELECT | Veri sorgulama | SELECT * FROM Kisiler; |
INSERT INTO | Yeni veri ekleme | INSERT INTO Kisiler (Id, Ad, Soyad, Yas) VALUES (1, 'Ahmet', 'Demir', 28); |
UPDATE | Mevcut veriyi güncelleme | UPDATE Kisiler SET Yas = 30 WHERE Id = 1; |
DELETE | Veriyi silme | DELETE FROM Kisiler WHERE Id = 1; |
Temel SQL komutlarının dışında, daha gelişmiş işlemler de söz konusu olabilir. JOIN komutları, grup fonksiyonları ve alt sorgular ile birden çok tabloyu birbirine bağlayabilir, toplu istatistikler elde edebilirsiniz.
İlişkisel veritabanlarında, birden çok tabloyu mantıksal olarak birleştirmek için JOIN komutları kullanılır. Örneğin, iki farklı tablodan ilgili verilerin çekilmesi:
SELECT M.Ad, M.Soyad, O.SiparisTarihi
FROM Musteriler M
INNER JOIN Siparisler O ON M.MusteriID = O.MusteriID;
Bu sorgu, müşteriler ve siparişler tablolarını ortak MusteriID alanı üzerinden eşleyerek verileri çekmektedir.
Toplu veri analizi yaparken COUNT, SUM, AVG gibi fonksiyonlar kullanılabilir. Örnek olarak:
SELECT Sehir, COUNT(*) AS MusteriSayisi
FROM Musteriler
GROUP BY Sehir;
Bu sorgu, her şehir için kayıtlı müşteri sayısını listeler.
Daha karmaşık sorgularda, bir sorguyu diğerinin içine gömerek kullanabilirsiniz. Örneğin:
SELECT Ad, Soyad
FROM Kisiler
WHERE Yas = (SELECT MAX(Yas) FROM Kisiler);
Bu kod, en yüksek yaşa sahip kişilerin bilgilerini getirir.
Yukarıdaki örnekler, temel SQL komutlarının kullanımı üzerine yoğunlaşmaktadır. İhtiyacınıza göre bu komutları diyaloğa uygun şekilde genişletebilirsiniz. Örneğin, belirli özniteliklere (sütunlara) göre sıralama yapmak için ORDER BY ifadesini, farklı koşullarda verinin güncellenmesi ve silinmesi için de gelişmiş WHERE koşullarını birleştirmek mümkündür.
Aşağıdaki örnekler, farklı işlemleri bir arada görmek isteyenler için kodların genel yapısını daha iyi anlamaya yardımcı olacaktır:
-- Tüm müşterilerin bilgilerini göster
SELECT * FROM Musteriler;
-- Belirli bir şehre ait müşterileri seç
SELECT * FROM Musteriler
WHERE Sehir = 'Ankara';
-- Yeni müşteri ekle
INSERT INTO Musteriler (Ad, Soyad, Sehir)
VALUES ('Ayşe', 'Kara', 'Istanbul');
-- Müşteri bilgisini güncelle
UPDATE Musteriler
SET Sehir = 'Izmir'
WHERE Ad = 'Ayşe';
-- Belirli bir müşteriyi sil
DELETE FROM Musteriler
WHERE Ad = 'Ayşe';
Gördüğünüz gibi, her bir SQL komutu veritabanı yönetiminde önemli rol oynamaktadır ve ihtiyacınıza yönelik basit sorgulardan karmaşık veri analizlerine kadar birçok alanda kullanılabilir. Her işlemde hata olasılığına karşı veritabanı yedekleri almayı unutmayın ve büyük güncelleme veya silme işlemlerinde WHERE koşullarının doğru tanımlandığından emin olun.
SQL dili konusunda daha fazla bilgi edinmek ya da kendinizi geliştirmek için çeşitli kaynaklar mevcuttur. Aşağıda, konuyla ilgili yararlı olabilecek çeşitli eğitim sitelerine ve makalelere bağlantılar verilmiştir:
SQL ile ilgili daha derinlemesine bilgi edinmek veya farklı senaryoları görmek isterseniz, aşağıdaki sorgu önerilerini değerlendirebilirsiniz: