SQLite Nedir? Neden Kullanılır?
Bir gün veri yönetimi ile uğraşırken bir dilek tuttuğumu hatırlıyorum. O kadar veritabanı yönetim sistemi arasından hangisini kullanacağıma karar verememiştim ki, karmaşık yapılar, kurulumlar, bağlantılar... Ama bir anda karşıma çıkan SQLite, tüm bu karmaşayı ortadan kaldırıp, hayatımı basitleştirdi. Veritabanı kurma derdini unuttum. Çoğu zaman büyük ve ağır sistemlerle uğraşan programcılar için zor bir iş gibi görünebilir, ama SQLite ile bu işin ne kadar pratik ve kolay olduğunu gördüm.
SQLite, hafif, taşınabilir ve tamamen disk tabanlı bir veritabanıdır. Yani, herhangi bir sunucuya gerek duymadan bilgisayarınızda veya mobil cihazınızda verilerinizi saklayabilirsiniz. Üstelik kurulumu neredeyse sıfırdır! Düşünsenize, hiçbir yapılandırma işlemi yapmadan bir veritabanı oluşturabilir ve sadece SQLite dosyasını taşıyarak tüm verilerinizi başka bir bilgisayara, telefona ya da sunucuya aktarabilirsiniz.
SQLite Kurulumu
SQLite’ı kurmak neredeyse "çocuk oyuncağı"! Çünkü SQLite, genellikle önceden yüklenmiş olarak gelir. Hatta Python gibi birçok programlama dili ile entegre gelir. Bu yüzden genellikle dışarıdan ek bir kurulum yapmanıza gerek kalmaz. Ancak yine de bilgisayarınıza kurmak isterseniz, SQLite'in resmi web sitesinden indirebilirsiniz.
SQLite'ı Python ile kullanacaksanız, şu basit komutu kullanarak kurulum yapabilirsiniz:
pip install sqlite3
SQLite ile İlk Adım: Veritabanı Oluşturma
Şimdi, SQLite ile ilk veritabanımızı oluşturalım! Bu kadar kolay olacak. Bir dosya oluşturacak ve içine verileri depolayacağız. İşte basit bir örnek:
import sqlite3
# Veritabanı bağlantısı oluşturma (varsa bağlanır, yoksa yeni bir dosya oluşturur)
conn = sqlite3.connect('veritabani.db')
# Bir cursor (veri işleme aracını) oluşturma
cursor = conn.cursor()
# Veritabanına basit bir tablo ekleyelim
cursor.execute('''
CREATE TABLE IF NOT EXISTS kisiler (
id INTEGER PRIMARY KEY AUTOINCREMENT,
ad TEXT,
yas INTEGER
)
''')
# Değişiklikleri kaydedelim
conn.commit()
# Bağlantıyı kapatalım
conn.close()
Bu kod, veritabani.db adlı bir dosya oluşturur (bu dosya SQLite veritabanı olacaktır). Sonra bir tablo ekleriz: kisiler. İçinde id, ad ve yas gibi sütunlar bulunur. Bu tablonun içinde bilgi depolayacağız.
Veri Ekleme ve Silme
Tablomuzu oluşturduktan sonra, veri eklemek ve silmek oldukça basit. Hadi, bir kişi ekleyelim ve sonra silelim. İşte nasıl yapılacağı:
# Veritabanına tekrar bağlanalım
conn = sqlite3.connect('veritabani.db')
cursor = conn.cursor()
# Veri ekleyelim
cursor.execute("INSERT INTO kisiler (ad, yas) VALUES ('Ahmet', 30)")
# Değişiklikleri kaydedelim
conn.commit()
# Veriyi silelim
cursor.execute("DELETE FROM kisiler WHERE ad = 'Ahmet'")
# Değişiklikleri kaydedelim
conn.commit()
# Bağlantıyı kapatalım
conn.close()
Yukarıdaki kod, "Ahmet" adlı bir kişi ekler ve sonra aynı kişiyi siler. Ne kadar basit, değil mi? Bu sadece başlangıç!
Veri Sorgulama (SELECT)
SQLite’ın gücü, veritabanından hızlıca veri çekebilmesinde gizlidir. Şimdi veritabanına eklediğimiz verileri sorgulamak istiyoruz. İşte bir örnek:
# Veritabanına tekrar bağlanalım
conn = sqlite3.connect('veritabani.db')
cursor = conn.cursor()
# Verileri sorgulama
cursor.execute("SELECT * FROM kisiler")
# Sonuçları alalım ve yazdıralım
rows = cursor.fetchall()
for row in rows:
print(row)
# Bağlantıyı kapatalım
conn.close()
Bu kod, kisiler tablosundaki tüm verileri çeker ve ekrana yazdırır. Ne kadar kolay! Bu, veritabanından veri almanın ne kadar pratik olduğunun sadece küçük bir örneği.
Veri Güncelleme
Veritabanındaki bir veriyi güncellemek de son derece basittir. Mesela, yaşını güncellemek istediğimiz bir kişi düşünelim. İşte nasıl yapılacağı:
# Veritabanına tekrar bağlanalım
conn = sqlite3.connect('veritabani.db')
cursor = conn.cursor()
# Veriyi güncelleme
cursor.execute("UPDATE kisiler SET yas = 35 WHERE ad = 'Ahmet'")
# Değişiklikleri kaydedelim
conn.commit()
# Bağlantıyı kapatalım
conn.close()
Yukarıdaki kod, "Ahmet"in yaşını 35 olarak günceller.
SQLite ile Pratik İpuçları
SQLite’ı daha verimli kullanmak için birkaç pratik ipucu paylaşmak istiyorum:
1. Veritabanınızı küçük tutun: SQLite, küçük veritabanları için idealdir. Eğer büyük ve karmaşık verilerle çalışıyorsanız, daha güçlü bir veritabanı sistemi kullanmak mantıklı olacaktır.
2. İndeksler oluşturun: Veri sorgulama hızını artırmak için tablolarınıza indeksler ekleyebilirsiniz. Bu, özellikle büyük veritabanlarında çok faydalıdır.
3. İlişkili veritabanları: SQLite, ilişkili veritabanlarını da destekler. Yani, verileriniz arasında ilişkiler kurarak daha düzenli veri depolamaları oluşturabilirsiniz.
Sonuç: SQLite ile Veritabanı Yönetimi Kolaylaştı
SQLite ile veri yönetimi gerçekten çok basit ve hızlı. Hem küçük projelerde hem de mobil uygulamalarda kullanabileceğiniz harika bir veritabanı yönetim sistemi. Veritabanı kurulumunun karmaşıklığı, programlama dünyasında bazen göz korkutucu olabilir, ama SQLite bu engeli ortadan kaldırıyor.
Bu yazıda SQLite'ı nasıl kullanacağınızı öğrendiniz, temel SQL sorgularıyla nasıl veri ekleyeceğinizi, sileceğinizi ve güncelleyeceğinizi gördünüz. Şimdi sıra sizde! Kendi SQLite veritabanınızı oluşturun ve pratik yapmaya başlayın!