Python ile Veritabanı İşlemleri (SQLite)

Merhaba Arkadaşlar,

Mobilhanem.com da Python Derslerine Python ile Veritabanı İşlemleri (SQLite) yazısı ile birlikteyiz. Bu yazı da Python ile veritabanında CRUD işlemlerini yapacağız.

Neden SQLite?

Neden SQLite? Sorusuna cevap vermeden önce SQLite nedir sorusuna cevap verelim.

SQLite;   C ve C++ programlama dilleriyle yazılmış açık kaynaklı bir Veritabanı Yönetim Sistemidir. Ayrıca SQLite sunucu yazılımı ve yapılandırma gereksinimi olmayan bir SQL veritabanı yönetim sistemidir.

Şimdi Neden SQLite sorusuna cevap verelim. SQLite’ı diğer veritabanı motorlarından ayıran başlıca özellikle basit olmasıdır.

  • Basit Yönetim
  • Basit İşletim
  • Daha büyük programların içine basit entegrasyon
  • Basit sürdürülebilirlik
  • Her şeyden önce Sqlite Python’un 2.5 sürümlerinden bu yana bu dilin bir parçasıdır. Dolayısıyla eğer kullandığınız Python sürümü 2.5 veya üstü ise Sqlite’ı Python’daki bir modül gibi içe aktarabilir ve kullanmaya başlayabilirsiniz.

İşte bu yüzden SQLite birçok kullanıcı için küçük ve hızlı olması nedeniyle tercih edilmektedir.

SQLite veritabanı görsel olarak incelemek veya herhangi bir işlemi manuel olarak yapmak için SQLite DB Browser bu adresten bilgisayarınıza uygun olanı indirebilirsiniz. Merak etmeyin kurulumu çok basittir.

İlk önce SQLite3 modülünü ekleyelim.

Python da SQLite veritabanını eklemek işte bu kadar basit. Şimdi veritabanını eklediğimize göre  veritabanı bağlantısı yapalım bunun içinde connect() metodunu kullanıyoruz.

Bu şekilde veritabanı bağlantısını yapmış oluyoruz. Eğer veritabanı yoksa sınıf.db adında yeni bir veritabanı oluşturmuş olacağız.

Şimdi üzerinde işlem yapacağımız veritabanı için  bir cursor(imleç veya işaretleyici) oluşturuyoruz. Bunun için cursor() metodunu kullanıyoruz.

Şimdi veritabanı işlemlerini yapalım.

CRUD İşlemleri

NOT: SQL ile ilgili Temel Komutlar ve Örnekler için veya Sıfırdan SQL öğrenmek için tıklayınız.

Create

Tablo oluşturmak için önceden oluşturduğumuz imleç nesnesini  kullanarak execute() metodunu ile tablo üzerinde işlem yapabiliriz. O zaman hemen oluşturalım tablomuzu.

Dikkat ederseniz sınıf.db isminde bir veritabanı oluşturmuş olduk. Şimdi veritabanımızı açalım. Bunun için daha önce bilgisayarımıza kurduğumuz SQLite DB Browser kullanıyoruz.

Gördüğünüz gibi öğrenciler tablomuzu oluşturduk. Şimdi oluşturduğumuz tabloya veri ekleyelim.

Dikkat ederseniz oluşturduğumuz veritabanındaki sıralama ile aynı şekilde ekliyoruz. Şimdi programı çalıştıralım.

sqlite3.OperationalError: table ogrenciler already exists.

Şu şekilde bir hata aldık. Bu hata bize zaten ogrenciler tablosunun olduğunu söylüyor. O zaman bizde eğer bu isimde bir tablomuz varsa yeni tablo oluşturma eğer yoksa oluştur tarzında bir kontrol yapmamız gerekiyor. Bunun için SQL de olan şu ifadeyi tablo oluştururken kullanıyoruz. “IF NOT EXISTS”

Hemen kodumuzu güncelleyelim.

Şimdi programı çalıştıralım ve veritabanımıza bakalım.

Gördüğümüz gibi veritabanımız hala boş  Çünkü biz veritabanı üzerinde yaptığımız değişiklikleri kaydetmedik bunun için veriler eklenmedi.

Biz veritabanı üzerinde yaptığımız değişiklikleri kaydetmek için commit() komutunu kullanıyoruz. Son olarak unutmadan veritabanını kapatıyoruz. Bunun içinde close() metodunu kullanıyoruz.

Şimdi tablomuza bakalım.

Eğer her seferinde veritabanı kapatmakla uğraşmak istemiyorsanız otomatik kapatmasını istiyorsanız şu yöntemi kullanabilirsiniz.

Kesinlikle size bu yöntemi kullanmayı tavsiye ederim.

Read

Yukar da veritabanı nasıl oluştulur ve nasıl veri eklenir onu öğrendik sıra geldi verileri okumaya bunun için temel SQL komutu olan “SELECT *FROM tablo_adı” şeklinde verilerimizi okuyoruz.

Şimdi imleç nesnemiz öğrenciler tablosunu okuyacak peki nasıl okuma işlemi yapacak bunu belirtmemiz lazım. Bunun için bazı komutlarımız var.

fetchall() Metodu: Tablodaki bütün verileri okur

fetchmany() Metodu:  Tablodan istediğimiz kadar veri okumayı sağlar

fetchone() Metodu:  Tablodan verileri tek tek okumayı sağlar

Tüm verileri okuyalım bunun için ben okuduğum verileri öğrenciler değişkenine atıyorum. Ve ekrana yazdıralım.

Çıktımıza bakalım;

Gördüğünüz gibi tüm verileri bir liste içinde okuduk. Dilerseniz verileri biraz daha düzgün şekilde okuya biliriz.

Biraz daha verileri düzgün okumuş olduk. Şimdi tablodan sadece Bilgisayar Mühendisliği okuyanları okuyalım.

Update

SQL dilinde veri güncelleme işlemi “UPDATE ” ifadesi ile yapılır.

Updata ifadesinin syntax’ı:

UPDATE tablo_adi SET = sütun1 = yeni_değer, sütun2 = yeni_değer WHERE koşul

Hemen kodlarımızı yazalım.

Yazılım Mühendisliği öğrencilerinin numarasını 15 yaptık. Güncelleme işlemini de yapmış olduk.

Delete

Şimdi veritabanımızda verileri silme işlemi yapalım. SQL dilinde veri silme işlemi “DELETE” ifadesi ile yapılır.

Delete ifadesi syntax’ı:

DELETE FROM tablo_adi WHERE koşul

Hemen yapalım.

Gördüğünüz gibi Bilgisayar Mühendisliği okuyan öğrencileri tablodan sildik.

Mobilhanem.com da Python ile Veritabanı İşlemleri(SQLite) dersinin  sonuna geldik bir sonraki yazımızda Pyhon ile Veritabanı İşlemleri(MySQL) dersini işleyeceğiz. Eksik yada yanlış gördüğünüz yada anlamadığınız yerler için  sayfanın altında yorum bölümünden yada soru-cevap kısmından sorabilirsiniz.

Bütün Python derslerine buradan ulaşabilirsiniz.

31

Cahit İşleyen

Fırat Üniversitesi Yazılım Mühendisliği
Python ve Linux sever.
Çay tiryakisi

4 Yorum

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?