SQLite
SQLite nedir?
SQLite’ı D. Richard Hipp 2000’de yazdı. Motor programın içine konur. Başka bir süreç beklemez. Bütün tablolar genellikle bir .sqlite veya .db dosyasındadır. SQL dili burada da kullanılır, ama motor MySQL değildir. MySQL ayrı sunucudur ve çok kişi aynı anda yazabilir. SQLite bir yazanı rahat tutar, çok okuyanı da bırakır. Python ile farkı şudur: Python programı çalıştırır, SQLite satır tutar. Python’un standart kütüphanesinde sqlite3 vardır, dosyayı onunla açar. Node.js ile farkı da şudur: Node JavaScript çalıştırır. SQLite dosyasını bir paketle veya yeni Node’un kendi modülüyle açabilir. Eski Node’da o modül yoktur.
SQLite ne için kullanılır?
SQLite bir kullanıcının veya bir cihazın verisi içindir. Ayar, not ve küçük katalog onun yeridir.
- Telefon uygulamasının yerel tabanı
- Tarayıcının tuttuğu not
- Masaüstü programın ayarı
- Küçük sitenin tek dosyalık tabanı
SQLite ile ne yapılabilir?
SQLite ile tablo yaratır, satır ekler ve koşula göre seçersin. Yedek o dosyanın kopyasıdır. Çok sunucudan aynı dosyaya aynı anda yazmak onun işi değildir. Büyük sitenin siparişi için kendi sunucusu olan taban seçilir.
SQLite öğrenmek zor mu?
Dosyayı açmak kolaydır. Zorluk aynı anda yazmaktadır. İki süreç aynı satırı değiştirince biri bekler. Bekleme uzarsa komut durur. Dosyayı başka klasöre taşımak programın yolunu da değiştirir. SQL metnine kullanıcı yazısını yapıştırmak burada da enjeksiyon açar.
Avantajları ve sınırları
Avantaj: kurulacak sunucu yoktur, kopya bir dosyadır, SQL tanıdıktır. Sınır: çok yazan ve büyük yük için daralır. SQLite, MySQL’in küçük adı değildir. Dosyanın içinde çalışan motordur.
Temel kavramlar
Dosya tabanın kendisidir. Tablo sütunların adıdır. Satır bir kayıttır.
- Ayrı sunucu süreci yoktur
- SQL sorgusu burada da kullanılır
- Bir yazan rahattır
- Yedek dosyanın kopyasıdır
Kısa örnek
Bu sorgu bir tablo açar. Dosya yoksa motor onu yaratabilir. Sunucuya bağlanmak gerekmez.
CREATE TABLE note ( id INTEGER PRIMARY KEY, text TEXT );
Sık sorulan sorular
- SQLite ve Python aynı mı? Hayır. Python programı çalıştırır. SQLite satır tutar. Python dosyayı standart sqlite3 ile açar.
- SQLite ve Node.js aynı mı? Hayır. Node JavaScript çalıştırır. SQLite dosyasını bir paketle veya yeni Node’un kendi modülüyle açabilir. Eski Node’da o modül yoktur.
- SQLite ve MySQL aynı mı? Hayır. İkisi de SQL kullanır. SQLite bir dosyadır, MySQL ayrı sunucudur.