Python ile Veritabanı İşlemleri SQLite ve MySQL Kullanımı
Python ile SQLite ve MySQL veritabanları üzerinde veri ekleme, sorgulama, güncelleme ve silme işlemlerini nasıl yapacağınızı detaylı kod örnekleriyle öğrenin.
Python ile Veritabanı İşlemleri: SQLite ve MySQL Kullanımı
Veri, yazılım dünyasının temel yapı taşıdır. Her uygulama, belirli bir veriyi işler, depolar ya da analiz eder. Bu verilerin saklandığı yer ise genellikle bir veritabanıdır. Python programlama dili, hem yerel veritabanı sistemleri (SQLite) hem de uzak sunucu tabanlı sistemler (MySQL) ile kolayca entegre olabilir. Bu yazımızda Python ile SQLite ve MySQL üzerinde nasıl veri eklenir, güncellenir, silinir ve sorgulanır detaylıca inceleyeceğiz.
1. Python ile SQLite Kullanımı
SQLite, dosya tabanlı ve kurulum gerektirmeyen hafif bir veritabanı sistemidir. Python ile doğal olarak gelir (sqlite3 modülü ile).
Veritabanı Oluşturma ve Bağlantı:
import sqlite3
conn = sqlite3.connect("veritabani.db")
cursor = conn.cursor()
Tablo Oluşturma:
cursor.execute('''
CREATE TABLE IF NOT EXISTS ogrenciler (
id INTEGER PRIMARY KEY,
ad TEXT,
puan INTEGER
)
''')
conn.commit()
Veri Ekleme:
cursor.execute("INSERT INTO ogrenciler (ad, puan) VALUES (?, ?)", ("Ali", 85))
conn.commit()
Veri Sorgulama:
cursor.execute("SELECT * FROM ogrenciler")
sonuclar = cursor.fetchall()
for satir in sonuclar:
print(satir)
Veri Güncelleme ve Silme:
cursor.execute("UPDATE ogrenciler SET puan = ? WHERE ad = ?", (90, "Ali"))
cursor.execute("DELETE FROM ogrenciler WHERE ad = ?", ("Ali",))
conn.commit()
Bağlantıyı Kapatma:
conn.close()
2. Python ile MySQL Kullanımı
MySQL, açık kaynaklı güçlü bir veritabanı sistemidir. Python’da mysql-connector-python kütüphanesi ile kullanılır.
MySQL Bağlantısı Kurma:
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="root",
password="parolaniz",
database="test_db"
)
cursor = conn.cursor()
Tablo Oluşturma:
cursor.execute('''
CREATE TABLE IF NOT EXISTS musteriler (
id INT AUTO_INCREMENT PRIMARY KEY,
isim VARCHAR(100),
sehir VARCHAR(50)
)
''')
Veri Ekleme:
cursor.execute("INSERT INTO musteriler (isim, sehir) VALUES (%s, %s)", ("Ayşe", "Ankara"))
conn.commit()
Veri Okuma:
cursor.execute("SELECT * FROM musteriler")
sonuclar = cursor.fetchall()
for satir in sonuclar:
print(satir)
Güncelleme ve Silme:
cursor.execute("UPDATE musteriler SET sehir = %s WHERE isim = %s", ("İzmir", "Ayşe"))
cursor.execute("DELETE FROM musteriler WHERE isim = %s", ("Ayşe",))
conn.commit()
3. Hangisini Ne Zaman Kullanmalı?
- SQLite: Küçük ölçekli, yerel uygulamalar, masaüstü yazılımları, eğitim amaçlı projeler için idealdir.
- MySQL: Daha büyük, çok kullanıcılı sistemlerde tercih edilir. Web tabanlı uygulamalarda yaygın olarak kullanılır.
Gelişmiş Uygulamalar
- Python ile stok takip sistemi
- Öğrenci bilgi sistemi
- Blog CMS sistemi
- Finansal raporlama uygulamaları
Sonuç Yerine
Veritabanı işlemleri, Python projelerinde kaçınılmazdır. İster basit bir veri kaydı tutuyor olun, ister büyük bir sistem geliştiriyor olun, Python ile veritabanı yönetimi güçlü ve pratiktir. SQLite ile hızlıca başlayabilir, daha sonra MySQL gibi daha büyük sistemlere geçebilirsiniz. Her iki sistemde de veriye erişim, güvenli saklama ve dinamik sorgulama yapmak Python ile oldukça kolaydır.