SQL (Structured Query Language), veritabanı yönetimi için kullanılan bir dildir. PHP ile MySQLi kullanarak veritabanı işlemleri yaparken temel SQL komutlarını doğru biçimde yazmak oldukça önemlidir. Bu yazıda en yaygın SQL ifadelerini ve kullanım şekillerini inceleyelim.
CRUD
Veritabanı işlemlerinin temelini oluşturan dört ana işlem EKLEME(OLUŞTURMA) - OKUMA - GÜNCELLEME ce SİLMEDİR. Bu işlemler CRUD olarak isimlendirilir. Veri tabanı işlemlerinin temelinde bu işlemler bulunur. CRUD bu 4 süreç isminin ingilizce karşılıklarının ilk harflerinden oluşur.
| Kısaltma |
İngilizce |
Türkçe Karşılığı |
Açıklama |
| C |
Create |
Oluştur |
Veritabanına yeni kayıt ekleme. (INSERT) |
| R |
Read |
Oku |
Veritabanından veri okuma/sorgulama. (SELECT) |
| U |
Update |
Güncelle |
Var olan veriyi güncelleme. (UPDATE) |
| D |
Delete |
Sil |
Veriyi silme. (DELETE) |
İşlmeler için kullanılan SQL cümlelerine ve bunlarla beraber kullanılan bazı işleçlere bakalım..
1. VERİ EKLEME (INSERT)
Bir tabloya yeni bir kayıt eklemek için aşağıdai sql cümlesi kullanılır:
sql
INSERT INTO tablo_adi (kolon1, kolon2, ...) VALUES (deger1, deger2, ...);
2. VERİLERİ SEÇME (SELECT)
Tablodan veri almak için kullanılır:
sql
SELECT alan1, alan2 FROM tablo_adi; // sadece bazı alanlar seçilir
SELECT * FROM tablo_adi; // tüm alanlar seçilir
3. VERİ GÜNCELLEME (UPDATE)
Tablodaki kayıtları güncellemek için kulalnılır. Where koşulu belirtilmezse tablodaki tüm kayıtlar güncellenir.
sql
UPDATE kullanicilar SET email='yeni@example.com' WHERE isim='Ahmet'
4. VERİ SİLME (DELETE)
Tablodaki kayıtları silmek için kulalnılır. Where koşulu belirtilmezse tablodaki tüm kayıtlar silinir..
sql
DELETE FROM kullanicilar WHERE id = 3;
5. WHERE - KOŞULLU SORGULAR
Tablodan sadece belirli koşulları sağlayan verileri almak için kullanılır.
sql
SELECT * FROM kullanicilar WHERE email LIKE '%@gmail.com';
Açıklama: E-posta adresi "@gmail.com" ile biten kullanıcıları listeler.
6. ORDER BY - SIRALAMA
Sonuçları belirli bir sütuna göre sıralar. Belirtilmezse "Otomatik Artan" sütuna göre sıralama baştan sona yapılır..
ASC : Artan Sıralama, baştan sona..
DESC : Azalan Sıralama, sondan başa..
sql
SELECT * FROM kullanicilar ORDER BY isim ASC;
Açıklama: Kullanıcıları isme göre A'dan Z'ye sıralar.
7. LIMIT - SONUÇLARI SINIRLAMA
Sorgudan dönecek sonuç sayısını sınırlar.
sql
SELECT * FROM kullanicilar LIMIT 5;
Açıklama: İlk 5 kullanıcıyı getirir.
8. JOIN - TABLOLARI BİRLEŞTİRME
İlişkili iki veya daha fazla tablonun verilerini birleştirir.
sql
SELECT kullanicilar.isim, siparisler.urun
FROM kullanicilar
JOIN siparisler ON kullanicilar.id = siparisler.kullanici_id;
Açıklama: Her kullanıcının yaptığı siparişleri listeler.
Join ile ilgili detaylı bilgiye JOIN KULLANIMI makalesinden ulabilirsiniz..
9. GROUP BY ve HAVING - GRUPLAMA ve FİLTRELEME
Aynı değerlere sahip satırları gruplamak ve gruplar üzerinde filtreleme yapmak için kullanılır.
sql
SELECT email, COUNT(*) as toplam
FROM kullanicilar
GROUP BY email
HAVING toplam > 1;
Açıklama: Aynı e-posta adresine sahip birden fazla kayıt varsa bunları listeler.
SQL dili, veritabanı yönetimi için temel bir araçtır. Bu yazıda incelediğimiz SELECT, INSERT, UPDATE, DELETE, JOIN, ORDER BY ve benzeri komutlar, günlük veritabanı işlemlerinde sıklıkla kullanılır. SQL’e hakim olmak, sadece web geliştiriciler için değil, veri analistleri ve yazılım mühendisleri için de vazgeçilmez bir beceridir.