# PYTHON İLE VERİ TABANI İŞLEMLERİ
# --------------------------
# VERİ TABANINA BAĞLANMA
# SQLITE3 modeli dahil ediliyor.
import sqlite3
# Veri tabanına bağlanılıyor. Eğer yoksa otomatik olarak oluşturulur.
baglan = sqlite3.connect("kutuphane.db")
# İşlem için veritabanı hazırlanıyor.
imlec = baglan.cursor()
# --------------------------
# Veritabanı için gerekli sql kodları hazırlanıyor.
imlec.execute("""
CREATE TABLE IF NOT EXISTS kitaplar (
id INTEGER PRIMARY KEY AUTOINCREMENT,
ad text NOT NULL,
yazar TEXT NOT NULL,
sayfa_sayisi INTEGER
)
""")
# sql kodları çalıştırılıyor.
baglan.commit()
# --------------------------
# Veritabanına veri ekleme
# Tekli Veri Ekleme
imlec.execute("INSERT INTO kitaplar (ad, yazar, sayfa_sayisi) VALUES (?, ?, ?)",
("Nutuk", "Mustafa Kemal Atatürk", 543))
# Çoklu Veri Ekleme
yeni_kitaplar = [
("Saatleri Ayarlama Enstitüsü", "Ahmet Hamdi Tanpınar", 382),
("İnce Memed", "Yaşar Kemal", 436),
("Kürk Mantolu Madonna", "Sabahattin Ali", 160)
]
imlec.executemany("INSERT INTO kitaplar (ad, yazar, sayfa_sayisi) VALUES (?, ?, ?)", yeni_kitaplar)
baglan.commit()
# --------------------------
# Veritabanından veri okuma işlemi.
# Tüm verileri çekme
imlec.execute("SELECT * FROM kitaplar")
tum_kitaplar = imlec.fetchall()
for kitap in tum_kitaplar:
print(f"ID: {kitap[0]} | Kitap: {kitap[1]} | Yazar: {kitap[2]} | Sayfa: {kitap[3]}")
# --------------------------
# Veritabanından veri silme işlemi.
imlec.execute("DELETE FROM kitaplar WHERE id = ?", (1,))
baglan.commit()
# --------------------------
# Veritabanı bağlantısı kapatma.
# Veri tabanı ile iş bittiğinde mutlaka bağlantı kapatılmalı yoksa açık kalır ve gereksiz işlem gücü harcanır.
baglan.close()