Python Sqlite İle Veri Tabanı Kayıt İşlemleri - Bilişim Konuları

Python Sqlite İle Veri Tabanı Kayıt İşlemleri

Bu örneğimizde Python programı ile Sqlite veri tabanı üzerinde kayıt işlemleri yapacağız. Bu kayıt işlemleri; kayıt ekleme, kayıt arama, kayıt silme, kayıt güncelleme ve kayıt listeleme işlemlerinden oluşmaktadır. Python programı ile en çok kullanılan veri tabanı Sqlite veri tabanıdır. Sqlite veri tabanı Sqlite Browser programının internet üzerinden indirilmesiyle veri tabanı işlemlerini bu arayüz üzerinden takip edebilirsiniz.

Öncelikle sqlite veri tabanını python içerisine import ederek işlemlere başlıyoruz.

# sqlite veri tabanını python içerisinde çağırıyoruz.
import sqlite3

VERİ TABANI VE TABLO OLUŞTURMA

Öncelikle arabalar.db isimli veri tabanını oluşturuyoruz. Daha sonra bu veri tabanına bağlanarak veri tabanı işlemlerine geçiyoruz. Daha sonra oluşturduğumuz veri tabanı üzerinde arabalar isimli bir tablo oluşturuyoruz. Oluşturduğumuz bu tablonun alanlarını ve bu alanların veri tiplerini belirliyoruz. Eğer tablo daha önceden oluşturulmuş ise tekrar oluşturmayarak sadece bağlantı sağlıyoruz.

# arabalar isimli bir veritabanı oluşturuyoruz.
baglanti=sqlite3.connect("arabalar.db")

# bir bağlantı nesnesi oluşturuyoruz.
islem = baglanti.cursor()

# bağlanma işlemini yapıyoruz
baglanti.commit()

# arabalar veri tabanı üzerinde arabalar isimli bir tablo oluşturuyoruz.
table = islem.execute("create table if not exists arabalar (Marka text, Model text, Renk text, Km int)")

 

TABLOYA KAYIT EKLEME

Tabloya kayıt ekleme işlemini yapmak için aşağıdaki kodları kullanıyoruz. Burada iki farklı şekilde kayıt ekleme işlemi gösterilmiştir. Kayıt ekleme işlemi fonksiyonlar ile yapılmaktadır.

veri_ekle() fonksiyonu ile tabloya sadece sabit bilgilerden oluşan kayıtlar girilmektedir. Bu kaydın bilgilerini kullanıcı önceden tanımlamaktadır.

veri_ekle2() fonksiyonunda ise program çalıştıktan sonra kullanıcıdan alınan veriler veri tabanına eklenmektedir. Yani veri tabanına eklenen bilgiler kullanıcı tarafından klavyeden girilmektedir.

# sqlite veri tabanını python içerisinde çağırıyoruz.
import sqlite3

# arabalar isimli bir veritabanı oluşturuyoruz.
baglanti=sqlite3.connect("arabalar.db")

# bir bağlantı nesnesi oluşturuyoruz.
islem = baglanti.cursor()

# bağlanma işlemini yapıyoruz
baglanti.commit()

# arabalar veri tabanı üzerinde arabalar isimli bir tablo oluşturuyoruz.
table = islem.execute("create table if not exists arabalar (Marka text, Model text, Renk text, Km int)")

baglanti.commit()

# Burada arabalar tablosuna sabit bir kayıt ekleyen fonksiyon yazıyoruz.
def veri_ekle (Marka, Model, Renk, Km):
    kayit = "insert into arabalar values (?,?,?,?)"
    islem.execute(kayit, (Marka, Model, Renk, Km))
    baglanti.comit()

# Burada klavyeden girilen bilgilerin arabalar tablosuna eklenmesini sağlayan fonksiyon yazıyoruz.
def veri_ekle2():
    Marka = input("Araba markasını girin:")
    Model = input("Araba modelini girin:")
    Renk = input("Araba rengini girin:")
    Km = int(input("Araba kilometresini girin:"))

    islem.execute("insert into arabalar values (?,?,?,?)",(Marka,Model,Renk,Km))
    baglanti.commit()

veri_getir() # sabit kayıt girişi
veri_ekle2() # klavyeden kayıt girişi

# veritabanı bağlantısını kapatıyoruz. 
baglanti.close()

Aşağıdaki görselde klavyeden girilen ve tabloya eklenen bir kayıt görülmektedir.

python-veritabani1

Aşağıdaki görselde en son kayıt eklendikten sonraki tablo içeriği görülmektedir.

python-veritabani2

TABLODAKİ VERİLERİ LİSTELEME

Aşağıdaki python kodu ile tabloda bulunan tüm kayıtlar for döngüsü ile ekrana yazdırılmaktadır.

# sqlite veri tabanını python içerisinde çağırıyoruz.
import sqlite3

# arabalar isimli bir veritabanı oluşturuyoruz.
baglanti=sqlite3.connect("arabalar.db")

# bir bağlantı nesnesi oluşturuyoruz.
islem = baglanti.cursor()

# bağlanma işlemini yapıyoruz
baglanti.commit()

# arabalar veri tabanı üzerinde arabalar isimli bir tablo oluşturuyoruz.
table = islem.execute("create table if not exists arabalar (Marka text, Model text, Renk text, Km int)")

baglanti.commit()

# Burada arabalar tablosunda bulunan kayıtları ekranda listeleyen fonksiyon yazıyoruz.
def veri_getir():
    sorgu = "select * from arabalar"
    islem.execute(sorgu)
    listeye_ekle = islem.fetchall()
    for i in listeye_ekle:
        print(i)

veri_getir()

# veritabanı bağlantısını kapatıyoruz.
baglanti.close()

python-veritabani3

TABLO ÜZERİNDE KAYIT ARAMA

Aşağıdaki python kodunda sabit olarak girilmiş bir model ismine göre arama yapılarak ilgili kayıt ekranda gösterilmiştir.

Burada Model=A180 olan kayıt ekrana getirilmiştir.

# arabalar isimli bir veritabanı oluşturuyoruz.
baglanti=sqlite3.connect("arabalar.db")

# bir bağlantı nesnesi oluşturuyoruz.
islem = baglanti.cursor()

# bağlanma işlemini yapıyoruz
baglanti.commit()

# arabalar veri tabanı üzerinde arabalar isimli bir tablo oluşturuyoruz.
table = islem.execute("create table if not exists arabalar (Marka text, Model text, Renk text, Km int)")

baglanti.commit()

# Burada arabalar veri tablosunda aranan bir kaydı ekranda gösteren fonksiyonu yazıyoruz.
def tek_kayit_getir(Model):
    sorgu = "select * from arabalar where Model = ?"
    islem.execute(sorgu,(Model,))
    listeye_ekle = islem.fetchall()
    print(listeye_ekle)

tek_kayit_getir("A180")

baglanti.close()

Aşağıdaki görselde Model=A180 olan kayıt bilgileri ekranda gösterilmiştir.

python-veritabani4

TABLO ÜZERİNDE KAYIT GÜNCELLEME

Aşağıdaki python kodu ile belirli bir kayıt bulunarak o kayıt üzerinde güncelleme işlemi yapılmaktadır. Burada Model=Punto olan kayıt;

“punto”,”Ford”,”Focus”,”Yeşil”,12500 olarak yeniden güncellenmektedir.

# sqlite veri tabanını python içerisinde çağırıyoruz.
import sqlite3

# arabalar isimli bir veritabanı oluşturuyoruz.
baglanti=sqlite3.connect("arabalar.db")

# bir bağlantı nesnesi oluşturuyoruz.
islem = baglanti.cursor()

# bağlanma işlemini yapıyoruz
baglanti.commit()

# arabalar veri tabanı üzerinde arabalar isimli bir tablo oluşturuyoruz.
table = islem.execute("create table if not exists arabalar (Marka text, Model text, Renk text, Km int)")

baglanti.commit()

# Burada arabalar tablosunda bulunan kayıtlardan istediğimizi güncelleyen fonksiyonu yazıyoruz.
def kayit_guncelle(eskiModel,YeniMarka,yeniModel,yeniRenk,yeniKm):
    sorgu = "update arabalar set Marka = ? , Model = ? , Renk = ? , Km = ? where Model = ?"
    islem.execute(sorgu,(YeniMarka,yeniModel,yeniRenk,yeniKm,eskiModel))
    baglanti.commit()

kayit_guncelle("punto","Ford","Focus","Yeşil",12500)

baglanti.close()

python-veritabani5

TABLO ÜZERİNDE KAYIT SİLME

Aşağıdaki python kodu ile tabloda bulunan model’e göre aranan kayıt bulunarak silinmektedir.

# sqlite veri tabanını python içerisinde çağırıyoruz.
import sqlite3

# arabalar isimli bir veritabanı oluşturuyoruz.
baglanti=sqlite3.connect("arabalar.db")

# bir bağlantı nesnesi oluşturuyoruz.
islem = baglanti.cursor()

# bağlanma işlemini yapıyoruz
baglanti.commit()

# arabalar veri tabanı üzerinde arabalar isimli bir tablo oluşturuyoruz.
table = islem.execute("create table if not exists arabalar (Marka text, Model text, Renk text, Km int)")

baglanti.commit()

# Burada arabalar tablosundan istediğimiz kaydı sildiren fonksiyonu yazıyoruz
def kayit_sil(Model):
    sorgu = "delete from arabalar where Model = ?"
    islem.execute(sorgu,(Model,))
    baglanti.commit()

kayit_sil("astra")

baglanti.close()

python-veritabani6

Aşağıdaki görsel yukarıdaki tabloda bulunan Model=A180 şartına uyan kaydın silindikten sonraki şeklini göstermektedir.

python-veritabani7

TÜM VERİTABANI KAYIT İŞLEMLERİ

Yukarıda teker teker anlatılan Python programlama dilinde Sqlite veri tabanı ile yapılan kayıt işlemleri şunlardır;

– Veri tabanı oluşturma,
– Tablo oluşturma,
– Tabloya kayıt ekleme,
– Tabloda kayıt arama,
– Tabloda kayıt güncelleme,
– Tablodaki kayıtları listeleme,
– Tablodaki kayıtları silme

Veri tabanında yapılan tüm yukarıdaki işlemleri toplu olarak yapmak için gereken python kodu aşağıdaki gibidir. Bu kod denenmiş ve hatasız olarak çalışmaktadır.

Her fonksiyon ayrı ayrı çalıştırılmalıdır.

# sqlite veri tabanını python içerisinde çağırıyoruz.
import sqlite3

# arabalar isimli bir veritabanı oluşturuyoruz.
baglanti=sqlite3.connect("arabalar.db")

# bir bağlantı nesnesi oluşturuyoruz.
islem = baglanti.cursor()

# bağlanma işlemini yapıyoruz
baglanti.commit()

# arabalar veri tabanı üzerinde arabalar isimli bir tablo oluşturuyoruz.
table = islem.execute("create table if not exists arabalar (Marka text, Model text, Renk text, Km int)")

baglanti.commit()

# Burada arabalar tablosuna sabit bir kayıt ekleyen fonksiyon yazıyoruz.
def veri_ekle (Marka, Model, Renk, Km):
    kayit = "insert into arabalar values (?,?,?,?)"
    islem.execute(kayit, (Marka, Model, Renk, Km))
    baglanti.comit()

# Burada klavyeden girilen bilgilerin arabalar tablosuna eklenmesini sağlayan fonksiyon yazıyoruz.
def veri_ekle2():
    Marka = input("Araba markasını girin:")
    Model = input("Araba modelini girin:")
    Renk = input("Araba rengini girin:")
    Km = int(input("Araba kilometresini girin:"))

    islem.execute("insert into arabalar values (?,?,?,?)",(Marka,Model,Renk,Km))
    baglanti.commit()

# Burada arabalar tablosunda bulunan kayıtları ekranda listeleyen fonksiyon yazıyoruz.
def veri_getir():
    sorgu = "select * from arabalar"
    islem.execute(sorgu)
    listeye_ekle = islem.fetchall()
    for i in listeye_ekle:
        print(i)

# Burada arabalar veri tablosunda aranan bir kaydı ekranda gösteren fonksiyonu yazıyoruz.
def tek_kayit_getir(Model):
    sorgu = "select * from arabalar where Model = ?"
    islem.execute(sorgu,(Model,))
    listeye_ekle = islem.fetchall()
    print(listeye_ekle)

# Burada arabalar tablosunda bulunan kayıtlardan istediğimizi güncelleyen fonksiyonu yazıyoruz.
def kayit_guncelle(eskiModel,YeniMarka,yeniModel,yeniRenk,yeniKm):
    sorgu = "update arabalar set Marka = ? , Model = ? , Renk = ? , Km = ? where Model = ?"
    islem.execute(sorgu,(YeniMarka,yeniModel,yeniRenk,yeniKm,eskiModel))
    baglanti.commit()

# Burada arabalar tablosundan istediğimiz kaydı sildiren fonksiyonu yazıyoruz
def kayit_sil(Model):
    sorgu = "delete from arabalar where Model = ?"
    islem.execute(sorgu,(Model,))
    baglanti.commit()

# Burada yazdığımız fonksiyonları çağırıyoruz.

kayit_sil("A180")
kayit_guncelle("punto","Ford","Focus","Yeşil",12500)
tek_kayit_getir("A180")
veri_getir()
veri_ekle2()

# veritabanı bağlantısını kapatıyoruz.
baglanti.close()

 

Bu Yazıya Tepkin Nedir?
+1
2
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Yorum Yap