Veritabanı yönetimi ve veri analizi süreçlerinin kalbinde yer alan SQL (Structured Query Language – Yapılandırılmış Sorgu Dili), ilişkisel veritabanlarıyla etkileşim kurmanın evrensel ve en etkili yoludur,. Bir web sitesinin arka planını kurgularken, müşteri verilerini incelerken veya karmaşık raporlar oluştururken veritabanına ne yapması gerektiğini SQL komutları aracılığıyla iletiriz,. SQL komutları, gerçekleştirdikleri işlevlere göre beş temel kategoriye ayrılır: DDL, DML, DQL, DCL ve TCL,,,.
Bu yazımızda, güçlü bir veritabanı altyapısı kurmanız için bilmeniz gereken temel SQL komutlarını tüm detaylarıyla inceleyeceğiz.
SQL TEMEL KOMUTLARI EĞİTİM VİDEOMUZ İÇİN TIKLAYIN
1. DQL (Data Query Language – Veri Sorgulama Dili)
DQL, veritabanında depolanan verileri değiştirmeden yalnızca okumak, listelemek ve analiz etmek amacıyla kullanılan komutları içerir,,.
- SELECT: SQL’in tartışmasız en çok kullanılan komutudur. Tablolardan belirli verileri çekmek için kullanılır.
- Örnek: Tüm veriyi çekmek için
SELECT * FROM Musteriler;komutu kullanılır,. Sadece belirli sütunları istiyorsakSELECT Isim, Yas FROM Musteriler;şeklinde yazabiliriz.
- Örnek: Tüm veriyi çekmek için
- WHERE: Çekilecek verileri belirli bir koşula göre filtrelemek için kullanılır. Büyük veritabanlarında tüm veriyi çekmek yerine sadece ihtiyacımız olanı alarak performansı artırır.
- Örnek:
SELECT * FROM Musteriler WHERE Sehir = 'İstanbul';,.
- Örnek:
- ORDER BY: Çekilen verileri bir veya daha fazla sütuna göre artan (ASC) veya azalan (DESC) sırada listelemek için kullanılır,.
- GROUP BY: Ortak değerlere sahip satırları gruplandırır. Genellikle
SUM(toplam),COUNT(sayma),AVG(ortalama) gibi hesaplama fonksiyonlarıyla birlikte raporlamalarda yoğun olarak kullanılır,. - HAVING:
GROUP BYile gruplandırılmış veriler üzerinde koşul ve filtreleme uygulamak için kullanılır,. (Normal satırlar içinWHERE, gruplanmış veriler içinHAVINGkullanılır,).
2. DDL (Data Definition Language – Veri Tanımlama Dili)
DDL komutları, veritabanının genel yapısını (şemasını), tabloları, görünümleri (view) ve dizinleri (index) tanımlamak, değiştirmek veya silmek için kullanılır,. DDL komutlarının en önemli özelliği otomatik olarak kaydedilmeleridir (auto-committed); yani bu komutlar bir kez çalıştırıldığında yapılan işlemler kalıcıdır ve ROLLBACK komutu ile geri alınamazlar.
- CREATE: Yeni bir veritabanı veya yepyeni bir tablo oluşturmak için kullanılır,. Tablo oluştururken sütun adları ve veri tipleri belirlenir,.
- ALTER: Mevcut bir tablonun yapısında yapısal değişiklikler yapmak için kullanılır,. Tabloya yeni bir sütun eklemek, mevcut bir sütunun veri tipini değiştirmek veya bir sütunu tamamen silmek
ALTERkomutuyla yapılır,. - DROP: Bir veritabanı nesnesini (örneğin bir tabloyu) içindeki tüm verilerle ve yapısal şemasıyla birlikte kalıcı olarak siler,. Geri dönüşü olmayan bir işlemdir.
- TRUNCATE: Bir tablonun içindeki tüm verileri hızlıca temizler, ancak tablonun yapısını (sütunlarını) veritabanında tutmaya devam eder,. Ayrıca otomatik artan (identity) değerleri genellikle sıfırlar.
- RENAME: Veritabanındaki bir nesnenin (örneğin bir tablonun veya sütunun) ismini değiştirmeye yarar,.
3. DML (Data Manipulation Language – Veri İşleme Dili)
DML komutları, DDL ile yapısı oluşturulmuş tabloların içine verilerin girilmesi, bu verilerin güncellenmesi veya tablodan silinmesi için kullanılır,,.
- INSERT: Tabloya yeni bir veri satırı (kayıt) eklemek için kullanılır,.
- Örnek:
INSERT INTO Calisanlar (ID, Isim, Departman) VALUES (1, 'Ahmet', 'Pazarlama');.
- Örnek:
- UPDATE: Tablodaki var olan mevcut verileri günceller,.
UPDATEkomutu kullanırken hangi kayıtların güncelleneceğini belirtenWHEREşartı yazmak kritik öneme sahiptir. Şart yazılmazsa tablodaki tüm satırlar güncellenir,. - DELETE: Tablodan belirli bir koşulu karşılayan satırları siler,.
TRUNCATEişleminden farklı olarak satır bazlı çalışır, log tutar,WHEREkoşulu ile spesifik silme işlemleri yapılabilir ve işlemi geri almak (Rollback) mümkündür,.
4. TCL (Transaction Control Language – İşlem Kontrol Dili)
TCL komutları, DML komutlarıyla (Insert, Update, Delete) yapılan değişiklikleri yönetmek ve veritabanı işlemlerini (transaction) kontrol altında tutmak için kullanılır,,. Bir veritabanında verilerin tutarlılığını sağlamanın en güvenli yolu TCL komutlarıdır.
- COMMIT: Veritabanında yapılan son değişiklikleri (örneğin yeni eklenen kayıtları veya silinen verileri) diske kalıcı olarak yazar ve kaydeder,. Bu işlemden sonra veriler diğer kullanıcılar tarafından da görünür hale gelir ve geri alınamaz.
- ROLLBACK: Herhangi bir hata veya problem durumunda, en son
COMMITişlemine kadar yapılan tüm değişiklikleri iptal ederek veritabanını önceki sağlam duruma geri döndürür,. - SAVEPOINT: Karmaşık ve uzun işlem dizilerinde belirli kurtarma (kayıt) noktaları oluşturmayı sağlar,. Eğer işlem sırasında bir şeyler ters giderse, tüm işlemi başa sarmak yerine sadece ilgili
SAVEPOINTnoktasına kadar geri dönülebilir,.
5. DCL (Data Control Language – Veri Kontrol Dili)
Veritabanları hassas bilgiler içerdiğinden, hangi kullanıcının hangi veriye ulaşabileceği sıkı bir şekilde denetlenmelidir. DCL komutları, veritabanı güvenliğini ve kullanıcı yetkilendirme süreçlerini kontrol eder,,.
- GRANT: Belirli bir kullanıcıya veya gruba, bir tablo üzerinde okuma (
SELECT), yazma (INSERT), veya değiştirme (UPDATE) gibi belirli izinleri vermek için kullanılır,.- Örnek:
GRANT SELECT, INSERT ON Calisanlar TO kullanici1;.
- Örnek:
- REVOKE:
GRANTkomutuyla kullanıcılara verilmiş olan erişim izinlerini ve haklarını geri almak için kullanılır,.
Kritik Farklar: DELETE, TRUNCATE ve DROP
Veri silme işlemleri söz konusu olduğunda yeni başlayanların en çok karıştırdığı üç komut vardır:
- DELETE (DML): Belirli satırları siler (
WHEREile kullanılır). Geri alınabilir (Rollback yapılabilir) ve nispeten daha yavaştır,. - TRUNCATE (DDL): Tüm satırları siler, tablo iskeleti yerinde kalır.
WHEREkoşulu kullanılamaz, çok daha hızlıdır,. - DROP (DDL): Tabloyu, içindeki verilerle ve tüm yapısıyla (sütun tanımları vs.) birlikte kalıcı olarak yeryüzünden siler,.
Sonuç
Web sitenizin arka planı, raporlama araçları veya modern bir web uygulamasının çalışması için SQL temel komutlarını (DDL, DML, DQL, DCL, TCL) kavramak kritik bir adımdır,. Tablo yapılarını doğru tasarlamak (DDL), veriyi kusursuz bir biçimde yönetmek (DML ve DQL), işlemleri kontrol altında tutmak (TCL) ve bu yapının güvenliğini sağlamak (DCL) başarılı bir veri stratejisinin vazgeçilmez temel taşlarıdır,,. SQL dünyasına giriş niteliğindeki bu rehber ile kendi veritabanlarınızı inşa edebilir, verilerinizin potansiyelini güvenle açığa çıkarabilirsiniz.





