DOLAR 41,0867 0,34%
EURO 48,0345 0,42%
ALTIN 4.559,221,16
BITCOIN 4455247-3.68227%
İstanbul
26°

AÇIK

SABAHA KALAN SÜRE

Veritabanı ile Entegre Çalışan Python Scripti Örneği
791 okunma

Veritabanı ile Entegre Çalışan Python Scripti Örneği

ABONE OL
Nisan 5, 2025 10:05
Veritabanı ile Entegre Çalışan Python Scripti Örneği
0

BEĞENDİM

ABONE OL

Scripti Veritabanları, modern yazılım geliştirme süreçlerinde veri saklama, düzenleme ve yönetme işlemleri için temel bir yapı sağlar. Python, SQL tabanlı veritabanlarına kolayca bağlanabilir ve veritabanı işlemleri yapabilir. Bu yazıda, Python ile bir veritabanına bağlanan, veri ekleyen, güncelleyen ve sorgulayan basit bir script örneği sunacağım.

Örnek olarak, SQLite veritabanını kullanacağız. SQLite, Python ile entegre çalışabilen hafif bir veritabanıdır ve herhangi bir sunucu gerektirmediği için geliştirme ve küçük projelerde yaygın olarak kullanılır.

1. Veritabanı Bağlantısı ve Tablo Oluşturma

İlk adım olarak, SQLite veritabanına bağlanacağız ve veri saklamak için bir tablo oluşturacağız.

import sqlite3

# Veritabanına bağlantı oluştur
conn = sqlite3.connect('example.db')

# Cursor nesnesi oluştur
cursor = conn.cursor()

# Tablo oluşturma
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    age INTEGER NOT NULL
)
''')

# Değişiklikleri kaydet
conn.commit()

# Bağlantıyı kapat
conn.close()

print("Veritabanı ve tablo oluşturuldu.")

Bu kodda, example.db adında bir SQLite veritabanı oluşturuluyor. Ardından, users adında bir tablo oluşturuluyor. Tablo, id, name ve age gibi sütunlardan oluşuyor. Eğer tablo zaten varsa, tekrar oluşturulmaz.

2. Veritabanına Veri Ekleme

Veritabanımıza kullanıcı verilerini eklemek için aşağıdaki scripti yazabiliriz:

import sqlite3

def add_user(name, age):
    # Veritabanına bağlantı oluştur
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()

    # Veriyi ekleme
    cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", (name, age))

    # Değişiklikleri kaydet
    conn.commit()

    # Bağlantıyı kapat
    conn.close()

    print(f"Yeni kullanıcı eklendi: {name}, Yaş: {age}")

# Kullanıcı ekle
add_user('Ahmet', 30)
add_user('Zeynep', 25)

Burada add_user fonksiyonu, kullanıcının adı ve yaşını parametre olarak alır ve veritabanına ekler. SQL sorgusu içinde parametreli sorgular kullanarak SQL enjeksiyon saldırılarına karşı güvenliği artırmış olduk.

3. Veritabanından Veri Sorgulama

Veritabanındaki kullanıcıları sorgulamak için şu scripti yazabiliriz:

import sqlite3

def get_all_users():
    # Veritabanına bağlantı oluştur
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()

    # Verileri sorgulama
    cursor.execute("SELECT * FROM users")
    users = cursor.fetchall()

    # Kullanıcıları yazdır
    for user in users:
        print(f"ID: {user[0]}, İsim: {user[1]}, Yaş: {user[2]}")

    # Bağlantıyı kapat
    conn.close()

# Veritabanındaki tüm kullanıcıları listele
get_all_users()

Bu fonksiyon, veritabanındaki tüm kullanıcıları sorgular ve her bir kullanıcının id, name ve age bilgilerini ekrana yazdırır. fetchall() metodu, sorgudan dönen tüm sonuçları bir liste olarak alır.

4. Veritabanında Veri Güncelleme

Bir kullanıcının bilgilerini güncellemek için aşağıdaki gibi bir fonksiyon yazabiliriz:

import sqlite3

def update_user_age(user_id, new_age):
    # Veritabanına bağlantı oluştur
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()

    # Yaşı güncelleme
    cursor.execute("UPDATE users SET age = ? WHERE id = ?", (new_age, user_id))

    # Değişiklikleri kaydet
    conn.commit()

    # Bağlantıyı kapat
    conn.close()

    print(f"Kullanıcının yaşı güncellendi: ID {user_id}, Yeni Yaş: {new_age}")

# Kullanıcı yaşını güncelle
update_user_age(1, 35)

Bu fonksiyon, kullanıcının id‘sini ve yeni yaş bilgisini alır ve veritabanında ilgili kullanıcının yaşını günceller.

5. Veritabanında Veri Silme

Bir kullanıcıyı veritabanından silmek için şu fonksiyonu kullanabiliriz:

import sqlite3

def delete_user(user_id):
    # Veritabanına bağlantı oluştur
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()

    # Kullanıcıyı silme
    cursor.execute("DELETE FROM users WHERE id = ?", (user_id,))

    # Değişiklikleri kaydet
    conn.commit()

    # Bağlantıyı kapat
    conn.close()

    print(f"Kullanıcı silindi: ID {user_id}")

# Kullanıcıyı sil
delete_user(2)

Bu fonksiyon, kullanıcının id‘sini alır ve belirtilen id‘ye sahip olan kullanıcıyı veritabanından siler.

6. Veritabanı İle İleri Seviye Kullanım

Yukarıdaki örnekler temel CRUD (Create, Read, Update, Delete) işlemlerini göstermektedir. Ancak veritabanıyla daha ileri seviye işlemler yapmak için aşağıdaki özelliklere göz atabilirsiniz:

  • JOIN işlemleri ile birden fazla tabloyu birleştirebilirsiniz.
  • WHERE koşulunu kullanarak sorgularda filtreleme yapabilirsiniz.
  • ORDER BY ve LIMIT kullanarak sıralama ve sınırlama işlemleri yapabilirsiniz.
  • Veri doğrulama ve hata yakalama işlemleri ile daha sağlam ve güvenli scriptler yazabilirsiniz.

7. Bağlantıyı Yönetmek ve İleri Seviye Bağlantı Yönetimi

Veritabanı bağlantılarını her işlem için yeniden oluşturmak yerine, bağlantıları yeniden kullanabilir ve bağlantı havuzları ile veritabanı işlemlerini daha verimli hale getirebilirsiniz. Python’da veritabanı bağlantısı yöneticisi olarak SQLAlchemy gibi araçlar kullanılabilir.

Sonuç

Python ile veritabanı entegrasyonu yaparak güçlü ve dinamik uygulamalar geliştirebilirsiniz. SQLite gibi hafif veritabanları ile başlayabilir, daha büyük projeler için PostgreSQL veya MySQL gibi veritabanlarına geçiş yapabilirsiniz. Bu yazıda, veritabanı ile çalışan temel Python scriptleri oluşturmayı öğrendik. Artık veri ekleme, güncelleme, sorgulama ve silme işlemlerini Python ile rahatlıkla yapabilirsiniz.

En az 10 karakter gerekli


HIZLI YORUM YAP
300x250r
300x250r