Numexpedia Programlama

SQL Nedir?

SQL, ilişkisel veritabanlarındaki verileri sorgulamak, eklemek, güncellemek ve silmek için kullanılan standart dildir. PostgreSQL, MySQL ve SQLite gibi veritabanları SQL ile yönetilir.

5 dk okuma 2026-10-21

Bir mağazanın müşterileri, ürünleri ve siparişleri genellikle bir veritabanında, satır ve sütunlardan oluşan tablolarda tutulur. Bu verilerle konuşmak için kullanılan dil SQL'dir (Structured Query Language).

Temel komutlar

-- Veri okuma
SELECT ad, telefon FROM musteriler WHERE il = 'Ankara';

-- Veri ekleme
INSERT INTO musteriler (ad, il) VALUES ('Ayşe', 'Ankara');

-- Veri güncelleme
UPDATE musteriler SET il = 'İzmir' WHERE id = 42;

-- Veri silme
DELETE FROM musteriler WHERE id = 42;
  • SELECT okur, INSERT ekler, UPDATE değiştirir, DELETE siler.
  • WHERE hangi satırların etkileneceğini belirler.

WHERE'i unutma

UPDATE ya da DELETE komutunda WHERE yazmayı unutursan işlem bütün satırlara uygulanır. Canlı veritabanında böyle bir komut çalıştırmadan önce aynı koşulla bir SELECT yapıp kaç satırın etkileneceğine bakmak ve yedeğin olduğundan emin olmak iyi bir alışkanlıktır.

Tabloları birleştirmek

JOIN ile ilişkili tablolar birlikte sorgulanır:

SELECT m.ad, s.tutar
FROM siparisler s
JOIN musteriler m ON m.id = s.musteri_id;

SQL enjeksiyonu

Kullanıcının yazdığı metni doğrudan sorgu metnine eklemek ciddi bir güvenlik açığıdır; saldırgan sorguyu değiştirip veri çalabilir ya da silebilir. Çözüm, parametreli sorgular (hazırlanmış ifadeler) ya da bunları kendisi yapan ORM araçları kullanmaktır.

Yaygın SQL veritabanları

  • PostgreSQL: Güçlü, açık kaynak, genel amaçlı.
  • MySQL / MariaDB: Web uygulamalarında çok yaygın.
  • SQLite: Tek dosyada çalışan, kurulum gerektirmeyen hafif veritabanı.
  • SQL Server, Oracle: Kurumsal ortamlarda sık kullanılır.

Özet

  • SQL tablolardaki verileri yönetme dilidir.
  • UPDATE/DELETE'te WHERE hayati önemdedir.
  • Kullanıcı girdisini her zaman parametreyle ver.
#sql#veritabanı#sorgu#postgresql#programlama