Python’da SQLite Kullanımı: Temel Rehber

SQLite Nedir ve Neden Kullanılır?

SQLite, hafif bir veritabanı yönetim sistemidir ve özellikle gömülü uygulamalarda sıklıkla tercih edilir. C dilinde yazılmış olan SQLite, işlevselliği ve taşınabilirliği ile ön plana çıkar. Diğer veritabanlarına göre artırılmış performansı ve kolay kurulumu sayesinde hem yeni başlayanlar hem de deneyimli geliştiriciler için cazip bir seçenektir. SQLite, herhangi bir sunucuda çalışmaya ihtiyaç duymadan, sadece bir dosya üzerinde çalışarak veri yönetimi sağlar.

SQLite, özellikleri açısından birçok projede kullanılabilir. Özellikle mobil uygulamalarda ve masaüstü yazılımlarında veri saklamak için idealdir. Tek bir dosya ile veri yönetimi yapabilmek, uygulamayı dağıtmayı ve yüklemeyi kolaylaştırır. Ayrıca, ilişkisel veritabanlarının sunduğu birçok özellik, SQLite ile kolayca kullanılabilir.

SQLite kullanarak Python’daki veri yönetimini gerçekleştirirken, yeterli bir bilgiye sahip olmak önemlidir. Python ile SQLite’ı entegre etmek oldukça kolaydır. Hızlı bir şekilde veri ekleyebilir, güncelleyebilir ve silebilir, ayrıca karmaşık sorgular da gerçekleştirebilirsiniz.

Python’da SQLite Kurulumu

Python ile SQLite kullanmak için, öncelikle ilgili kütüphanenin kurulu olması gerekmektedir. İyi haber şu ki, Python’un standart kütüphanesi içinde `sqlite3` modülü bulunmaktadır; bu nedenle herhangi bir ek kurulum yapmanıza gerek yoktur. Python yüklü olduğunda, `sqlite3` otomatik olarak mevcut olacaktır.

SQLite ile çalışmaya başlamak için bir Python dosyası oluşturabilir ve `sqlite3` modülünü projenize dahil edebilirsiniz. Aşağıda basit bir örnek verilmiştir:

import sqlite3

Bu basit satır ile SQLite veritabanını oluşturmaya ve yönetmeye başlayabiliriz.

Veritabanı Oluşturma ve Bağlantı Kurma

SQLite ile çalışma sürecinin en temel adımı, bir veritabanı dosyası oluşturmaktır. Bağlantıyı kurmak ve veritabanını oluşturmak için `connect()` metodunu kullanabilirsiniz. Eğer veritabanı dosyası mevcut değilse, bu metot dosyayı otomatik olarak oluşturur.

conn = sqlite3.connect('my_database.db')

Burada, `my_database.db` adı verilen bir SQLite veritabanı dosyası oluşturulacaktır. Python programınız çalıştıktan sonra aynı dizinde bu dosya bulunacaktır. Bağlantı oluşturduktan sonra, bu bağlantı üzerinden veri eklemek, sorgulamak veya güncellemek için gerekli işlemleri yapabilirsiniz.

Veritabanı bağlantısını oluşturduktan sonra, üzerinde çalışmak istediğiniz veritabanı üzerinde bir işlem gerçekleştirmek için `Connection` nesnesinin `cursor()` metodunu kullanarak bir `Cursor` nesnesi edinmeniz gerekmektedir:

cursor = conn.cursor()

Tablo Oluşturma

SQLite veritabanınızda veri depolamak için öncelikle bir veya daha fazla tablo oluşturmanız gerekir. Tablo oluşturmak için `CREATE TABLE` SQL sorgusunu kullanabilirsiniz. Bunun için, `Cursor` nesnesinin `execute()` metodunu kullanabilirsiniz.

cursor.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')

Yukarıdaki örnekte, `users` adında bir tablo oluşturulmuştur. Bu tablo, `id`, `name` ve `age` adındaki üç sütunu içermektedir. `id` sütunu birincil anahtar olarak belirlenmiştir ve otomatik artış özelliğine sahiptir. Tabloyu başarıyla oluşturduktan sonra, veritabanı üzerinde veri eklemeye başlayabilirsiniz.

Veri Ekleme

Tabloya veri eklemek için `INSERT INTO` sorgusunu kullanabilirsiniz. `execute()` metodunu tekrar kullanarak bu sorguyu çalıştırabilirsiniz. Aşağıdaki örnek, tabloya yeni bir kullanıcı eklemektedir:

cursor.execute('''INSERT INTO users (name, age) VALUES ('Ege Korkmaz', 28)''')

Yukarıdaki sorgu `users` tablosuna bir kullanıcı ekler. Separatorler ve veri türlerine dikkat etmek, hataların önüne geçmek için önemlidir. Ekledikten sonra, değişikliklerin veritabanında kalıcı olması için `commit()` metodunu çağırmalısınız:

conn.commit()

Veri ekleme işleminin ardından daha fazla kullanıcı eklemek istiyorsanız, aynı işlemi tekrar edebilirsiniz veya bir döngü içerisinde birden fazla kullanıcıyı ekleyebilirsiniz.

Veri Sorgulama

SQLite veritabanına eklediğiniz verileri sorgulamak için `SELECT` ifadesi kullanılır. `execute()` metoduyla birlikte sorgunuzu veritabanına gönderebilir ve sonuçları alabilirsiniz. Aşağıda, `users` tablosundaki tüm kullanıcıları listelemek için bir sorgu örneği verilmiştir:

cursor.execute('''SELECT * FROM users''')

Bu sorgu, `users` tablosundaki tüm kayıtları getirir. Sorgunun ardından verileri çekmek için `fetchall()` veya `fetchone()` metodlarını kullanabilirsiniz. Örneğin:

results = cursor.fetchall()

Bu işlem, sorgudan dönen tüm sonuçları içeren bir liste döndürecektir. Sonuçları döngü içerisinde yazdırmak isterseniz:

for row in results:
    print(row)

Veri Güncelleme ve Silme

Veritabanındaki verileri güncellemek için `UPDATE` ifadesini kullanmalısınız. Aşağıda, bir kullanıcının yaşını güncellemeyi gösteren bir örnek verilmiştir:

cursor.execute('''UPDATE users SET age = 29 WHERE name = 'Ege Korkmaz' ''')

Yukarıdaki sorgu, `Ege Korkmaz` adındaki kullanıcının yaşını 29 olarak günceller. Yine, değişikliklerin uygulanabilmesi için `commit()` metodunu unutmayın.

Benzer şekilde, veritabanından veri silmek için `DELETE` ifadesini kullanabilirsiniz. Örneğin, bir kullanıcının silinmesi için aşağıdaki sorgu kullanılabilir:

cursor.execute('''DELETE FROM users WHERE name = 'Ege Korkmaz' ''')

Veritabanı Bağlantısını Kapatma

Veritabanı işlemleri tamamlandıktan sonra, oluşturduğunuz bağlantıyı kapatmayı unutmamalısınız. Bu, sistem kaynaklarını doğru bir şekilde yönetmek açısından önemlidir. Bağlantıyı kapatmak için `close()` metodunu kullanabilirsiniz:

conn.close()

Bu basit komut, açık olan bağlantıyı kapatacak ve veritabanı kaynağının serbest bırakılmasını sağlayacaktır. Doğru bir kapanış işlemi yaparak, potansiyel veri kaybı veya kaynak sorunlarının önüne geçebilirsiniz.

Özet

SQLite ile Python’da veri yönetimi yapmanın en temel adımlarını ele aldık. SQLite, hafif yapısı ve kolay kullanımı ile geliştiricilerin veri yönetiminde pratik bir çözüm sunmaktadır. Veritabanı oluşturma, veri ekleme, sorgulama, güncelleme ve silme işlemleri gibi temel işlemleri Python ile gerçekleştirmenin basitliğini gösterdik.

SQLite ile çalışmaya başlayarak projelerinize veritabanı işlevselliği ekleyebilir ve verilerinizi etkili bir şekilde yönetebilirsiniz. Uygulamanız üzerinde denemeler yaparak, bu pratik bilgilerinizi pekiştirmeyi unutmayın.

Sık yapılan hataları göz önünde bulundurarak, her adımda dikkatli olmak önemlidir. Sorularınız veya deneyimleriniz hakkında geri dönüş yapmaktan çekinmeyin; önemli olan, öğrendiklerinizi uygulamak ve geliştirmektir. Şimdi, projelerinizde bu bilgileri uygulamaya koyma zamanı!

Scroll to Top