📦 Kurulum
Kurulum: SQL kurulumu, seçtiğin veritabanı motoruna göre köklü biçimde farklılaşır — SQLite için tek bir kütüphane yeterken, PostgreSQL için sunucu sürecini başlatman, kullanıcı
SQL kurulumu, seçtiğin veritabanı motoruna göre köklü biçimde farklılaşır — SQLite için tek bir kütüphane yeterken, PostgreSQL için sunucu sürecini başlatman, kullanıcı oluşturman ve bağlantı parametrelerini yapılandırman gerekir. Peki 'en basit' ile 'production'a en yakın' kurulum arasında nasıl karar verirsin? SQLite, tüm veritabanını tek bir dosyada taşır — Java'da bir ArrayList'i bir .ser dosyasına serileştirip sonra geri okuman gibi, sunucu, port, şifre yok. PostgreSQL ise tam bir istemci-sunucu mimarisine sahiptir; Java'da DriverManager ile JDBC bağlantısı açarken bir URL, kullanıcı ve şifre verirsin, PostgreSQL kurulumu da aynı kavramları gerektirir. QA mühendisi için bu fark kritiktir: CI/CD pipeline'ında hızlı, bağımlılıksız veri doğrulaması için SQLite yeterken, uygulamanın gerçek production veritabanını yansıtan entegrasyon testleri için PostgreSQL kurulumu şarttır — yanlış motoru seçmek, testlerin geçmesine ama production'da hataların yaşanmasına yol açabilir.
Seçenek A: Kurulum Gerektirmeyen Çevrimiçi Editörler (Buradan Başlayın)
Seçenek B: SQLite CLI (En Hafif Yerel Seçenek)
Micro Lab: SQL — Tablo olusturma
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
sqlite3 mytest.db Çalıştırınca Perde Arkasında Ne Olur?
Komut çalıştırıldığı anda dosya YOKSA…
sqlite3 mytest.db komutu çalıştırıldığı anda, eğer mytest.db dosyası diskte yoksa YENİ boş bir dosya oluşturulur — ayrı bir "create database" komutuna gerek yoktur.
Nokta (.) ile başlayan komutlar…
Açılan shell'de nokta (.) ile başlayan komutlar (.tables, .schema, .headers) SQLite'ın KENDİ komutlarıdır — SQL standardının parçası değildir, MySQL/PostgreSQL'de ÇALIŞMAZ.
.headers on ve .mode column…
.headers on ve .mode column ayarları SADECE terminal görünümünü değiştirir — veritabanındaki veriyi hiç etkilemez, sonuçları okunur hale getirir.
SELECT sqlite_version(); ise noktasız…
SELECT sqlite_version(); ise noktasız, standart bir SQL sorgusudur — noktalı virgülle biter ve (farklı fonksiyon adıyla) tüm SQL motorlarında bir karşılığı vardır.
Kurulum adımları
- Windows: sqlite.org/download.html'den "sqlite-tools-win32" indirin ve C:\sqlite\ klasörüne çıkarın
- Mac: Zaten yüklü! Çalıştır: sqlite3 — veya Homebrew ile: brew install sqlite
- Linux: sudo apt install sqlite3
- Veritabanı oluştur: sqlite3 mytest.db
- Doğrula: SELECT sqlite_version();