Python Veritabanı – SQLite



Neden SQLite

python veritabani sqlite

Python sürümlerinde ön tanımlı olarak SQLite veritabanı sistemi gelmektedir. SQLite herhangi ek bir sunucuya gerek kalmadan temel SQL sorguları ile oldukça hızlı ve taşınabilir dosya sistemi sayesinde birçok uygulamada kullanılmatadır. SQlite geliştiricileri sistemi tanıtırken, veritabanın oldukça güçlü olduğunu ve hatta mevcut web sistelerinin %99,9‘nu rahatlıkla kaldırabilceğini dile getirmektirler. Aslında birkaç ufak değişiklik dışında tüm SQL sistemleri bir birine bezemektedir. Sorgulama şekilleri hemen hemen aynıdır. Dolayısı ile SQLite ile deneyim kazanmış bir programcı rahatlıkla PostgreSQL veya Oracle gibi çok güçlü sistemleri rahatlıkla kullanabilirler.

  • SQlite taşınabilir olması sayesinde hiçbir kurulum olmaksızın her işletim sisteminde çalışır.
  • Herhangi bir programlama dili ilede rahatlıkla kullanılır

SQLite Bağlantısı Kurmak

Bir sunucu gerektirmediğinden, SQLite modülünü(Kütüphane) içermek ve bir dosya adı vermek bağlantı yapmak için yeterlidir. Python 3.2 sürümü SQLite 2.6.0 sürümünü içermekte olup üçüncü nesil kütüphane ile kullanılmaktadır. SQlite çalışması için gerekli eklememiz gereken kütüphane :

Bu şekilde eklememiz gerekiyor, sürümünü kontrol ettiğimizde 2.6.0 vermesi gerekiyor  :

Bir veritabanına bağlantı kurmak için sadece dosya adının verilmesi yeterlidir. Eğer veritabanı dosyası belirtilen konumda var ise ona bağlantı yapacaktır. Yok ise yeni bir dosya oluşturacaktır. Bu dosya bildiğimiz metin dosyaları değildir, ikili(binary) dosyalarıdır. Bu neden herhangi bir metin düzenleyicisi ile açılmamalıdır. Şimdi bir veritabanı oluşturalım :

Yukarıda belirttiğim gibi, eğer bağlanacağım veritabanı yerinde yok ise yeni oluşturacağı için direk bağlantı kuruyoruz :

Veritabanı konumda yok ise otomatik oluşturdu şimdi if kontrolü ile bağlantıyı test edelim :

Herhangi bir problem gözükmüyor harika !

Bir veritabanına birden fazla bağlantının hem okuma hemde yazma kipinde açılması güvenilirdir. SQlite kütüphanesinin kilit sistemi sayesinde bir yazma işlemi yapılırken diğer yazma işlemleri kuyrukta bekletilir. Böylelikle sizin herhangi bir işlem yapmanıza gerek kalmaz.

Veritabanı ile bağlantı kurulduğunda, işlem yapabilmemiz için nesnenin oluşturulması gerekir. İşaretçi nesnesi bağlantı nesnenin cursor() özelliği ile oluşturulur.

SQLite Tablo Oluşturmak

SQL veritabanı sistemlerinde veriler tablo halinde tutulur. Bunlar satır ve sütünlardan oluşan verilerdir. İlgili verilerimizi tutmak istediğimiz yere isim vermek zorundayız. İsim verdiğimiz noktada disk açılır ve orada verileri depolarız.

SQL de tablolar CREATE TABLE ifadesi ile oluşturulur.

Yukarida ogrenciler adında bir tablo oluşturduk.

Tablo oluşturma işlemi bi kere yapılmalıdır, aynı tablo var ise hatası verir!

Yukarıda eklediğimiz veri tiplerinden bahsedersek :

  • kayit_no sayı tipinde, birincil anahtar belirledik yani her veri eklediğinde satır başına otomatik sayı belirleyecektir.
  • ogrenci_no int tipinde veri aldığını belirttik. Boş olması taktirinde NULL yazacaktır.
  • adi verisini varchar olarak ekledik hertürlü karakter bulunabilir anlamına geliyor. (50) yazan ifade ise max 50 uzunlukta olabilir anlamındadır. soyadi isede aynıdır.

SQLite Veri Kaydetme

Tablomuz oluştuğuna göre verileri girebiliriz. Veriler INSERT INTO komutu ile girilir :

Verilerin sağlıklı eklenmesi için commit() işlevi yazılması ardından close() fonksiyonu çalışmalıdır :

Bu şekilde çalıştırabiliriz ve :







NO : 1234

AD : Ali

Soyad : Yaman

şeklinde verilerimiz veritabanına eklendi.

SQLite Veri Okuma

SQL’de veri alma işlemi SELECT ifadesi ile yapılır. Bu ifadenin kullanımı şu şekildedir :

SELECT * FROM [tablo adi] [kiriterler]

Bu kod ile tüm öğrencilerin verilerin seçilme işlemi yapıldı ve okumaya hazır durumdadır. Ancak satırları teker teker çağırabilceğimiz gibi hepsini birdende çağırabiliriz. Eğer çok büyük bir tablomuz var ise hepsini birden belleğe almak mantıksız olabilir. Satırları teker teker çağırmak için fetchall() fonksiyonunu kullanırız.

Şimdi hepsini okuyalım :

ÇIKTI :

Yakaladığımız verileri düzgün bir şekilde yazalım :

ÇIKTI :

SQLite Alanlara Göre Çağırma

Şimdiye kadar çağırdığımız tüm veriler bir tüp şeklindeydi. Biz bir satırdaki herhangi bir alanın hangi sırada olduğunu bilmek durumunda ve ona göre veriyi almak zorundayız. İstiyorsanız verileri sanki bir sözlük gibi alan adlarına göre alabilirsiniz. Bunun için bağlantının satır fabrikasını Row yapmanız gerekecek.

ÇIKTI :

SQLite Veri Silme

Veri silmek için DELETE ifadesi kullanılır. Yazılım şu şekildedir :

DELETE FROM tablo_adi where [koşul] 

koşul dediğim nokta ise : ad=’Ali’ gibi olabilir.

Örneğin :

Bu şekilde silebiliriz, kodları tam yazalım :

ÇIKTI :

 

SQLite Veri Güncelleme

Verileri Update ifadesi ile güncelleriz. Yazılım şu şekildedir :

Update [tablo_adi] SET adi=ayse where adi=ahmet 

Burada adi ahmet olanın adını ayse yap demektir.

Bu şekilde updare sorgusu oluşturabiliriz, şimdi kodları tam yazalım :

ÇIKTI :

İşinize yarayacak bir ek özellikten bahsedip konuyu kapatmak istiyorum :

Benzer Verileri Bulma : SQLite LIKE

Veri ararken çok işimize yarayacak bir yapıdır. Genel olarak kullanımı başı xx ile başlayan veya sonu yy ile biten gibi sorgularda kullanabiliriz.

Örneğin başında A harfi olan verileri listede dediğim zaman :

ÇIKTI :

Umarım faydalı olmuştur.


Emoji olarak yorumla :)
eh işte! eh işte!
0
eh işte!
Harika Harika
2
Harika
Hahaha! Hahaha!
0
Hahaha!
Vay be! Vay be!
1
Vay be!
Şekilsin Şekilsin
0
Şekilsin
Muhteşem Muhteşem
0
Muhteşem
Beğendim Beğendim
0
Beğendim
Beğenmedim Beğenmedim
0
Beğenmedim

Python Veritabanı – SQLite

Giriş Yap

Hoşgeldin, sefa getirdin :)

Şifre Sıfırla

Şifreni bidaha unutma lütfen :)

Geri git :
Giriş Yap