Python Python Veri Tabanı 2026 Güncel

Python SQL Sorguları

4 dk okuma süresi 524 görüntülenme 2024-09-11 4.9 (14 değerlendirme)

Python'da SQL sorguları kullanarak veritabanlarıyla etkileşim kurabilirsiniz. SQL (Structured Query Language), veritabanı üzerinde veri sorgulama, ekleme, güncelleme ve silme gibi işlemleri yapmanızı sağlar. Python'da SQL sorguları genellikle sqlite3, mysql-connector-python, psycopg2 gibi kütüphaneler aracılığıyla gerçekleştirilir.

Bu rehberde, Python'da SQL sorgularını SQLite kullanarak adım adım inceleyeceğiz. Diğer veritabanları için de mantık benzer olup, kullandığınız veritabanına göre kütüphane değişiklikleri yapmanız yeterlidir.

1. SQLite Kullanarak Python'da SQL Sorguları

a. Veritabanı Bağlantısı Kurma

Öncelikle veritabanına bağlanmamız gerekir. sqlite3 modülü ile SQLite veritabanına bağlanalım.

import sqlite3 # Veritabanına bağlan veya yeni bir veritabanı oluştur conn = sqlite3.connect('example.db') # İmleç (cursor) oluştur cursor = conn.cursor()

b. Tablo Oluşturma (CREATE TABLE)

Bir veritabanı tablosu oluşturmak için SQL'de CREATE TABLE ifadesi kullanılır. Python'da bu sorguyu çalıştırmak için cursor.execute() metodunu kullanırız.

# Tablo oluşturma sorgusu cursor.execute(''' CREATE TABLE IF NOT EXISTS kullanicilar ( id INTEGER PRIMARY KEY AUTOINCREMENT, isim TEXT, yas INTEGER ) ''') # Değişiklikleri kaydet conn.commit()

c. Veri Ekleme (INSERT INTO)

Veritabanına veri eklemek için INSERT INTO ifadesi kullanılır.

# Tek bir veri ekleme cursor.execute(''' INSERT INTO kullanicilar (isim, yas) VALUES (?, ?) ''', ('Ali', 25)) # Değişiklikleri kaydet conn.commit() # Birden fazla veri ekleme veriler = [('Ayşe', 30), ('Mehmet', 22), ('Ahmet', 27)] cursor.executemany(''' INSERT INTO kullanicilar (isim, yas) VALUES (?, ?) ''', veriler) # Değişiklikleri kaydet conn.commit()

d. Veri Sorgulama (SELECT)

Veritabanındaki verileri sorgulamak için SELECT ifadesini kullanırız. Sorgulama işlemleri genellikle cursor.execute() ile yapılır ve sonuçlar fetchall() veya fetchone() ile alınır.

# Tüm verileri sorgulama cursor.execute('SELECT * FROM kullanicilar') kullanicilar = cursor.fetchall() for kullanici in kullanicilar: print(kullanici)

e. Belirli Kriterlerle Veri Sorgulama

Verileri belirli bir kritere göre sorgulamak için SQL'in WHERE ifadesi kullanılır.

# Yaşı 25'ten büyük olan kullanıcıları sorgulama cursor.execute('SELECT * FROM kullanicilar WHERE yas > 25') sonuc = cursor.fetchall() for row in sonuc: print(row)

f. Verileri Güncelleme (UPDATE)

Bir kaydı güncellemek için UPDATE ifadesi kullanılır.

# Yaşı 25 olan kullanıcının adını güncelle cursor.execute(''' UPDATE kullanicilar SET isim = ? WHERE yas = ? ''', ('Ali Veli', 25)) # Değişiklikleri kaydet conn.commit()

g. Veri Silme (DELETE)

Veritabanındaki bir kaydı silmek için DELETE FROM ifadesi kullanılır.

# Yaşı 22 olan kullanıcının kaydını sil cursor.execute(''' DELETE FROM kullanicilar WHERE yas = ? ''', (22,)) # Değişiklikleri kaydet conn.commit()

h. Veritabanı Bağlantısını Kapatma

İşlemler tamamlandıktan sonra veritabanı bağlantısını kapatmayı unutmamalısınız.

# Veritabanı bağlantısını kapatma conn.close()

2. MySQL Kullanarak SQL Sorguları

MySQL gibi daha büyük ölçekli veritabanlarında da SQL sorguları benzer şekilde çalışır. MySQL ile bağlanmak için mysql-connector-python kütüphanesi kullanılabilir. Aşağıda örnek bir MySQL bağlantısı ve sorgusu gösterilmiştir.

import mysql.connector # MySQL bağlantısı oluştur conn = mysql.connector.connect( host="localhost", user="root", password="password", database="veritabani_adi" ) cursor = conn.cursor() # Veri ekleme cursor.execute(''' INSERT INTO kullanicilar (isim, yas) VALUES (%s, %s) ''', ("Mehmet", 30)) # Değişiklikleri kaydet ve bağlantıyı kapat conn.commit() conn.close()

Önemli Noktalar

  • Parametreli Sorgular: SQL enjeksiyon saldırılarından korunmak için parametreli sorgular kullanın. Bu, kullanıcıdan alınan verilerin güvenli bir şekilde SQL sorgularında kullanılmasını sağlar.

    cursor.execute('SELECT * FROM kullanicilar WHERE yas = ?', (25,))
  • commit() İşlemi: Veritabanına veri ekleme, güncelleme veya silme işlemlerinde mutlaka conn.commit() yapmalısınız. Aksi takdirde değişiklikler kaydedilmez.

Sonuç

Python ile SQL sorguları çalıştırmak oldukça esnek ve güçlüdür. SQLite, MySQL, PostgreSQL gibi veritabanlarıyla Python'da sorunsuz bir şekilde çalışabilir, veri ekleme, sorgulama, güncelleme ve silme işlemlerini SQL kullanarak gerçekleştirebilirsiniz.

Bu Dersi Değerlendirin

Bu ders size yardımcı oldu mu? Puan verin!

Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.

4.9 / 5 (Toplam 14 oy kullanıldı)

Sıkça Sorulan Sorular (SSS)

Bu ders ve konuyla ilgili en çok merak edilenler

Python SQL Sorguları dersini öğrenmek için ön koşul var mı?

Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.

Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?

Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.

Takıldığım bir yerde nereden soru sorabilirim?

Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.

Paylaş:
PHP Hocası Akademi

Topluluk Yorumları (0)

Ders Hakkında Yorum Yap veya Soru Sor

Henüz yorum yapılmamış. İlk yorumu siz yazın!