SQL
Yapılandırılmış Sorgulama Dili
- Okunuşu
- es-kyu-el ya da sikuıl
Kısaca
SQL, ilişkisel veritabanlarıyla çalışmanın standart dilidir; tablo oluşturmak ve içindeki veriyi eklemek, sorgulamak, güncellemek ve silmek için kullanılır.
SQL nedir?
SQL, bilginin satır ve sütunlardan oluşan tablolarda tutulduğu ilişkisel veritabanlarındaki veriyi yönetmek için özel olarak tasarlanmış bir dildir. Hangi veriyi istediğinizi tarif edersiniz, veritabanı ise onu verimli biçimde nasıl bulacağını kendisi çözer. SQL 1970'lerde IBM'de geliştirildi ve ANSI ile ISO tarafından standartlaştırıldı.
SQL bildirimseldir (declarative): adım adım döngüler yazmak yerine, istediğiniz sonucu tarif eden SELECT, INSERT, UPDATE ve DELETE gibi ifadeler yazarsınız. CREATE TABLE gibi diğer ifadeler verinin yapısını tanımlar; JOIN ise ilişkili tabloların satırlarını birleştirir, örneğin siparişleri onları veren müşterilerle eşleştirir.
PostgreSQL, MySQL, SQLite, Microsoft SQL Server ve Oracle Database dahil hemen her ilişkisel veritabanı SQL kullanır. Her biri lehçe (dialect) adı verilen kendi eklentilerini getirir, ancak temel komutlar neredeyse her yerde aynı çalışır. SQL, veri analizi araçlarında ve veri ambarlarında da kullanılır; bu da onu yazılımdaki en yaygın biçimde işe yarayan becerilerden biri yapar.
SQL bir dildir, bir veritabanı ürünü değildir; dolayısıyla "SQL veritabanı" gibi bir ifade aslında SQL ile sorguladığınız bir ilişkisel veritabanı anlamına gelir. Genellikle başka veri modelleri kullanan NoSQL veritabanlarıyla karşılaştırılır. "S-Q-L" ve "sequel" telaffuzlarının ikisi de kabul edilir.
Bir bakışta
Önemli noktalar
- SQL, ilişkisel veritabanları için standart dildir.
- Bildirimseldir: adımları değil, sonucu tarif edersiniz.
- Temel komutlar
SELECT,INSERT,UPDATEveDELETE'tir. JOIN, ilişkili tablolardaki verileri birleştirir.- Veritabanları aynı temel SQL'i paylaşır, ancak kendi lehçe özelliklerini ekler.
Örnek
-- Find the 5 customers who spent the most since the start of 2026
SELECT c.name, SUM(o.total) AS total_spent
FROM customers AS c
JOIN orders AS o ON o.customer_id = c.id
WHERE o.created_at >= '2026-01-01'
GROUP BY c.name
ORDER BY total_spent DESC
LIMIT 5;Sık sorulan sorular
SQL bir programlama dili midir?
SQL, veriyi sorgulamak ve yönetmek için tasarlanmış alana özgü bir dildir. Python ya da Java gibi genel amaçlı bir dil değildir; ancak PL/pgSQL gibi veritabanı eklentileri değişkenler, döngüler ve fonksiyonlar ekler.
SQL ile MySQL arasındaki fark nedir?
SQL dilin kendisidir; MySQL ise SQL kullanarak sorguladığınız belirli bir veritabanı yönetim sistemidir. PostgreSQL, SQLite ve SQL Server de SQL kullanan diğer veritabanlarıdır.
SQL öğrenmek zor mu?
WHERE ve ORDER BY ile birlikte SELECT gibi temel konular, sözdizimi İngilizceye yakın okunduğu için birkaç saatte öğrenilebilir. Birleştirmeler, indeksler ve sorgu optimizasyonu gibi ileri konularda ustalaşmak ise daha uzun sürer.
Sık karşılaştırılanlar
İlgili sayfalar
- VeritabanıVeritabanları, s. 37Veritabanı, bilgisayarda düzenli biçimde saklanan ve uygulamaların verimlice kaydedip arayıp güncelleyebildiği, bir yazılımla yönetilen veri topluluğudur.
- NoSQLVeritabanları, s. 21NoSQL, veriyi ilişkisel tablolar yerine doküman, anahtar-değer çifti, geniş sütun ya da çizge gibi başka modellerde saklayan veritabanı ailesidir.
- ORMVeritabanları, s. 24ORM, veritabanı tablolarını programlama dilinizdeki nesnelere eşleyen ve ham SQL yerine kodla veri okuyup yazmanızı sağlayan bir kütüphanedir.
- Veritabanı İndeksiVeritabanları, s. 38Veritabanı indeksi, tüm tabloyu taramadan satırları hızla bulmayı sağlayan, bir kitabın sonundaki dizine benzeyen bir veri yapısıdır.
- TransactionVeritabanları, s. 36Transaction, tek bir bütün olarak başarılı ya da başarısız olan veritabanı işlemleri grubudur; böylece veri asla yarım kalmış, tutarsız bir durumda bırakılmaz.
- SQL InjectionGüvenlik, s. 39SQL injection, kullanıcı girdisinin veritabanı sorgusunun parçası sayıldığı ve saldırganın erişmemesi gereken verileri okuyup değiştirebildiği saldırıdır.
- PostgreSQLVeritabanları, s. 26PostgreSQL, güvenilirliği, standartlara sıkı uyumu ve eklentileriyle bilinen ücretsiz, açık kaynaklı ilişkisel veritabanıdır; web uygulamalarında yaygındır.
- SQLiteVeritabanları, s. 32SQLite, uygulamanızın içinde çalışan ve bütün bir veritabanını tek bir dosyada saklayan küçük bir SQL veritabanı motorudur; yönetilecek ayrı sunucu yoktur.
Kaynaklar
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin