0Pricing
Learn AI with Python · Ders

Python'un sqlite3 Modülüyle SQLite

Veritabanları ve tablolar oluşturma, INSERT/SELECT/UPDATE, parametreli sorgular ve bağlantı yönetimi.

Python'un sqlite3 Modülüyle SQLite, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Yapay Zekâ için Veritabanları Neden Kullanılır?

Düz dosyalar, verileriniz büyüyene veya bir projenin birçok bölümü aynı kayıtlara ihtiyaç duyana kadar işe yarar. Bir veritabanı size hızlı sorgular, yapılandırılmış şemalar ve güvenli eşzamanlı erişim sağlar.

SQLite, Python'a sqlite3 modülü aracılığıyla yerleşik olarak gelen, kurulum gerektirmeyen dosya tabanlı bir veritabanıdır — yapay zekâ deneyleri ve küçük projeler için mükemmeldir.

sqlite3.connect ile Bağlanma

sqlite3.connect bir veritabanı dosyasını açar veya oluşturur ve bir bağlantı döndürür. Geçici ve RAM'de tutulan bir veritabanı için :memory: kullanın.

import sqlite3

conn = sqlite3.connect("ml.db")   # creates ml.db if missing
print(conn)

İmleçler ve cursor.execute

SQL'i bağlantıdan alınan bir imleç aracılığıyla çalıştırırsınız. cursor.execute(sql) bir ifadeyi veritabanına gönderir.

import sqlite3

conn = sqlite3.connect("ml.db")
cur = conn.cursor()
cur.execute("SELECT sqlite_version()")
print(cur.fetchone())

CREATE TABLE IF NOT EXISTS

Bir tabloyu şemasıyla tanımlayın. IF NOT EXISTS, ifadeyi tekrar tekrar güvenle çalıştırmanızı sağlar — tablo zaten varsa hata oluşmaz.

cur.execute("""
CREATE TABLE IF NOT EXISTS experiments (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    accuracy REAL,
    created_at TEXT
)
""")

Yer Tutucularla INSERT

Asla SQL'i dize biçimlendirmeyle oluşturmayın — bu yöntem SQL ekleme saldırılarına davetiye çıkarır ve tırnak işaretlerinde bozulur. ? yer tutucularını kullanın ve değerleri bir demet olarak aktarın.

cur.execute(
    "INSERT INTO experiments (name, accuracy, created_at) VALUES (?, ?, ?)",
    ("baseline", 0.82, "2026-05-29"),
)

executemany ile Çok Sayıda Satır Ekleme

executemany, bir demet listesini tek ve verimli bir çağrıyla ekler — döngü içinde execute kullanmaktan çok daha hızlıdır.

rows = [
    ("rf", 0.88, "2026-05-29"),
    ("xgb", 0.91, "2026-05-29"),
]
cur.executemany(
    "INSERT INTO experiments (name, accuracy, created_at) VALUES (?, ?, ?)",
    rows,
)

conn.commit() Değişiklikleri Kaydeder

Yazma işlemleri bir işlem içinde gerçekleşir ve siz conn.commit() çağırana kadar kalıcı hâle gelmez. Bunu unutmak, yeni başlayanların en yaygın hatasıdır — bağlantı kapatıldığında verileriniz sessizce kaybolur.

conn.commit()   # persist all pending INSERT/UPDATE/DELETE

fetchall ve fetchone ile Sorgulama

Bir SELECT işleminden sonra sonuçları alın:

  • fetchone() — sıradaki tek satır
  • fetchall() — kalan tüm satırlar, demetlerden oluşan bir liste olarak
  • Büyük sonuçlar için imleç üzerinde doğrudan yineleme yapın
cur.execute("SELECT name, accuracy FROM experiments")
for row in cur.fetchall():
    print(row)   # ("baseline", 0.82) ...

Filtreleme ve Sıralama

Ağır işi SQL yapar: WHERE ile filtreleyin, ORDER BY ile sıralayın, LIMIT ile sınırlayın. Sorgu değerleri için de yer tutucular kullanın.

cur.execute(
    "SELECT name, accuracy FROM experiments WHERE accuracy > ? ORDER BY accuracy DESC LIMIT 3",
    (0.85,),
)
print(cur.fetchall())

Adla Erişim için Satır Üreticisi

Varsayılan olarak satırlar demetlerdir. Sütunlara adlarıyla erişmek için conn.row_factory = sqlite3.Row ayarını yapın; bu, kodu çok daha okunabilir hâle getirir.

import sqlite3

conn = sqlite3.connect("ml.db")
conn.row_factory = sqlite3.Row
cur = conn.cursor()
cur.execute("SELECT * FROM experiments")
row = cur.fetchone()
print(row["name"], row["accuracy"])

Güvenlik için Bağlam Yöneticileri

Bağlantı üzerinde with kullanmak, başarı durumunda otomatik olarak kaydetme ve hata durumunda geri alma işlemi yapar. closing ile birleştirildiğinde temizliğin garanti edilmesini sağlar.

import sqlite3
from contextlib import closing

with closing(sqlite3.connect("ml.db")) as conn:
    with conn:   # auto commit/rollback
        conn.execute(
            "INSERT INTO experiments (name, accuracy) VALUES (?, ?)",
            ("svm", 0.79),
        )

Hızlı Kontrol: Yazma İşlemlerini Kalıcı Hâle Getirme

Birkaç INSERT ifadesi çalıştırdınız ve ardından bağlantıyı kapattınız; ancak sonraki açışınızda veriler yoktu.

Özet: sqlite3 ile SQLite

Artık Python'dan gerçek bir veritabanı kullanabilirsiniz:

  • sqlite3.connect ve bir cursor
  • Güvenli şemalar için CREATE TABLE IF NOT EXISTS
  • ? yer tutucuları ve executemany ile INSERT
  • Yazma işlemlerini kalıcı hâle getirmek için conn.commit()
  • fetchone/fetchall, WHERE/ORDER BY/LIMIT
  • Temiz ve güvenli kod için sqlite3.Row ve bağlam yöneticileri

Sıradaki adım: pandas ile SQL arasında köprü kurmak.

Sıkça Sorulan Sorular

“Python'un sqlite3 Modülüyle SQLite” dersi ücretsiz mi?

Evet — “Python'un sqlite3 Modülüyle SQLite” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“Python'un sqlite3 Modülüyle SQLite” dersinde ne öğreneceğim?

Veritabanları ve tablolar oluşturma, INSERT/SELECT/UPDATE, parametreli sorgular ve bağlantı yönetimi. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Python'un sqlite3 Modülüyle SQLite” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Python'un sqlite3 Modülüyle SQLite
  2. Pandas ve SQL Entegrasyonu
  3. Makine Öğrenmesi Sonuçlarını Depolama ve Sorgulama
  4. Vektör Veritabanlarına Giriş
← Learn AI with Python Sayfasına Dön