SQL bir programlama dili (Python veya C# gibi) değildir; amacı sadece veritabanları ile konuşmaktır. Verilerin satırlar ve sütunlar halinde tablolarda tutulduğu İlişkisel Veritabanı Yönetim Sistemleri (RDBMS) ile iletişim kurmak için kullanılır.
SQL komutları işlevlerine göre temel olarak dört ana gruba ayrılır:
DML (Data Manipulation Language - Veri İşleme Dili): Mevcut veriler üzerinde işlem yapmayı sağlar.
SELECT: Veritabanından veri çekmek (sorgulamak) için kullanılır.
INSERT: Tabloya yeni bir veri ekler.
UPDATE: Mevcut bir veriyi günceller.
DELETE: Tablodan veri siler.
DDL (Data Definition Language - Veri Tanımlama Dili): Veritabanının yapısını (tabloları, indeksleri) oluşturmak veya değiştirmek için kullanılır.
CREATE: Yeni bir tablo veya veritabanı oluşturur.
ALTER: Mevcut bir tablonun yapısını (örneğin yeni bir sütun ekleyerek) değiştirir.
DROP: Bir tabloyu veya veritabanını tamamen siler.
DCL (Data Control Language - Veri Kontrol Dili): Veritabanı güvenliği ve kullanıcı yetkileriyle ilgilenir (GRANT, REVOKE).
TCL (Transaction Control Language - İşlem Kontrol Dili): Veritabanındaki işlemlerin kararlılığını yönetir (COMMIT, ROLLBACK).
Teknik Bağlam
Kullanım Alanları
Web Siteleri ve Bloglar: Bir web sitesine girdiğinizde kullanıcı bilgileriniz, makaleler, ürün listeleri veya yorumlar bir SQL veritabanında (örneğin MySQL veya PostgreSQL) saklanır. Site açılırken SQL sorguları çalışarak bu verileri ekrana getirir.
E-Ticaret Platformları: Müşterilerin sipariş geçmişleri, stok miktarları, sepet detayları ve fiyatlandırma politikaları SQL tabanlı sistemlerde dinamik olarak yönetilir.
Finans ve Bankacılık Sistemleri: Bankalar, para transferlerinin hatasız ve güvenli bir şekilde yapılabilmesi için işlem (transaction) güvenliği çok yüksek olan SQL tabanlı kurumsal veritabanlarını (Oracle, Microsoft SQL Server gibi) kullanırlar.
Veri Analizi ve İş Zekası (BI): Veri analistleri ve veri bilimcileri, milyonlarca satırlık ham veri kitleleri arasından anlamlı raporlar çıkarmak, filtrelemeler yapmak ve performans grafiklerini beslemek için yoğun şekilde SELECT sorguları ve alt sorgular (subqueries) kullanırlar.
Mobil ve Masaüstü Uygulamaları: Birçok mobil uygulama, cihazın interneti olmasa bile kendi içinde veri saklayabilmek için SQLite adı verilen hafif ve yerleşik bir SQL motoru kullanır.