16 Mart 2023 Perşembe

Python Sqlite3 Kodları

SQLite3, Python'da kullanılan bir veritabanı yönetim sistemi modülüdür. Bu modül, SQLite veritabanlarına erişmek ve bu veritabanları üzerinde işlemler yapmak için kullanılır.

Bu modülü kullanarak SQLite veritabanları oluşturabilir, mevcut veritabanlarını açabilir, veritabanı içindeki tabloları oluşturabilir ve bu tablolara veri ekleyebilirsiniz. Ayrıca, veritabanındaki tablolardaki verileri sorgulayabilir, güncelleyebilir veya silebilirsiniz.

İşte bazı popüler SQLite3 Python komutları:

  1. sqlite3.connect('database_name.db'): Bu komut, belirtilen veritabanı adıyla yeni bir SQLite veritabanı bağlantısı oluşturur. Eğer veritabanı yoksa, yeni bir veritabanı oluşturulur.

  2. cursor.execute('CREATE TABLE table_name(column_1 data_type, column_2 data_type, ...)'): Bu komut, veritabanında yeni bir tablo oluşturur. Tablo adı ve sütunların isimleri ve veri tipleri belirtilmelidir.

  3. cursor.execute('INSERT INTO table_name(column_1, column_2, ...) VALUES(value_1, value_2, ...)'): Bu komut, belirtilen tabloya veri ekler. Sütun adları ve değerleri belirtilmelidir.

  4. cursor.execute('SELECT * FROM table_name'): Bu komut, belirtilen tablodan tüm verileri seçer ve geri döndürür.

  5. cursor.execute('UPDATE table_name SET column_1 = new_value WHERE some_column = some_value'): Bu komut, belirtilen tablodaki verileri günceller. Belirtilen sütunda belirtilen değere sahip olan kayıtların belirtilen sütununu yeni değerle değiştirir.

  6. cursor.execute('DELETE FROM table_name WHERE some_column = some_value'): Bu komut, belirtilen tablodan belirtilen koşullara göre kayıtları siler.

  1. cursor.execute('SELECT column_1, column_2 FROM table_name WHERE some_column = some_value'): Bu komut, belirtilen tablodan sadece belirtilen sütunların değerlerini seçer ve geri döndürür. WHERE koşulu belirtilerek sadece belirli kayıtların seçilmesi sağlanabilir.

  2. cursor.execute('DROP TABLE IF EXISTS table_name'): Bu komut, belirtilen tabloyu siler. IF EXISTS parametresi kullanılarak, tablo zaten varsa silinmesi sağlanabilir.

  3. cursor.fetchall(): Bu komut, son yürütülen SQL sorgusundan sonra tüm verileri alır ve bir liste olarak geri döndürür.

  4. cursor.fetchone(): Bu komut, son yürütülen SQL sorgusundan sonra tek bir kaydı alır ve bir demet olarak geri döndürür.

  5. cursor.commit(): Bu komut, yapılan değişiklikleri onaylamak için veritabanına kaydeder. Bu, INSERT , UPDATE veya DELETE gibi değişiklikler yapıldığında çağrılmalıdır.

  6. cursor.rollback(): Bu komut, yapılan değişiklikleri iptal etmek için kullanılır. Bu, hata oluştuğunda veya yapılacak değişiklikler yanlış olduğunda çağrılabilir.

  1. cursor.execute('SELECT column_1, column_2 FROM table_name ORDER BY column_2 DESC'): Bu komut, belirtilen tablodan sadece belirtilen sütunların değerlerini seçer ve verileri belirtilen sütuna göre büyükten küçüğe doğru sıralar.

  2. cursor.execute('SELECT COUNT(*) FROM table_name'): Bu komut, belirtilen tablodaki toplam kayıt sayısını döndürür.

  3. cursor.execute('SELECT AVG(column_1) FROM table_name WHERE some_column = some_value'): Bu komut, belirtilen koşula uyan kayıtların belirtilen sütununun ortalamasını döndürür.

  4. cursor.execute('SELECT MAX(column_1) FROM table_name'): Bu komut, belirtilen tablodaki belirtilen sütundaki en büyük değeri döndürür.

  5. cursor.execute('SELECT MIN(column_1) FROM table_name'): Bu komut, belirtilen tablodaki belirtilen sütundaki en küçük değeri döndürür.

  6. cursor.execute('ALTER TABLE table_name ADD COLUMN new_column data_type'): Bu komut, belirtilen tabloya yeni bir sütun ekler.

  7. cursor.execute('CREATE INDEX index_name ON table_name(column_1, column_2)'): Bu komut, belirtilen tablo için bir indeks oluşturur. İndeks, belirtilen sütunlara göre veriye hızlı erişim sağlar.

  8. cursor.execute('BEGIN TRANSACTION'): Bu komut, işlemi başlatır ve değişiklikleri geçici olarak saklar. İşlem başarıyla tamamlandığında COMMIT çağrılmalıdır. Aksi takdirde, ROLLBACK ile geri alınabilir.

Bu SQL komutları, Python ile SQLite3 kullanarak veritabanlarına erişmenize ve bu veritabanları üzerinde işlemler yapmanıza olanak tanır. Ancak veritabanı işlemleri yaparken dikkatli olmak önemlidir, çünkü yanlış yapılandırılmış sorgular istenmeyen sonuçlara neden olabilir.

Bu nedenle SQLite3 kullanırken, özellikle veri güncelleme, silme veya ekleme gibi işlemler yaparken dikkatli olmak önemlidir. Yanlışlıkla yapılan bir değişiklik, veritabanındaki tüm kayıtları etkileyebilir.

Ayrıca, SQLite3 modülü, birden fazla bağlantı açılmasına izin vermez. Bu nedenle, aynı anda sadece bir bağlantı açık tutulabilir. Bağlantı kesildiğinde, değişiklikler otomatik olarak kaydedilir.

Son olarak, SQLite3 modülü, küçük ve orta ölçekli uygulamalar için mükemmel bir seçimdir. Ancak büyük ölçekli uygulamalar için daha gelişmiş veritabanı yönetim sistemleri tercih edilmelidir.

Ayrıca, SQLite3 Python modülü ile ilgili birkaç ipucu da şunlardır:

  1. Veritabanı bağlantısını her zaman try-except bloğu içinde açın ve sonunda kapatın.
pythonCopy Code
import sqlite3 try: connection = sqlite3.connect('database_name.db') cursor = connection.cursor() # İşlemler except sqlite3.Error as error: print('Hata:', error) finally: if (connection): connection.close()
  1. SQL sorgularında kullanıcı tarafından girilen verileri kullanmadan önce mutlaka doğrulayın ve onaylayın. Bu, kötü amaçlı kodların sistem içine enjekte edilmesini önleyecektir.
pythonCopy Code
input_data = input('Bir değer girin: ') if not input_data.isdigit(): print('Hatalı giriş!') else: cursor.execute(f"SELECT * FROM table_name WHERE column_1 = {input_data}")
  1. Sorguları optimize etmek için indeksler kullanın. Daha büyük veritabanlarında performansı artırmak için, sorgulanacak sütuna göre bir indeks oluşturabilirsiniz.
pythonCopy Code
cursor.execute('CREATE INDEX index_name ON table_name(column_1)')
  1. Birden fazla değişiklik yaparken işlemi başlatın ve tamamlandığında kaydetmeyi unutmayın. Aksi takdirde, her değişiklik ayrı ayrı gerçekleştirilecektir.
pythonCopy Code
try: connection = sqlite3.connect('database_name.db') cursor = connection.cursor() cursor.execute('BEGIN TRANSACTION') cursor.execute('UPDATE table_name SET column_1 = 1 WHERE column_2 = 2') cursor.execute('DELETE FROM table_name WHERE column_3 = 3') cursor.execute('COMMIT') except sqlite3.Error as error: print('Hata:', error) finally: if (connection): connection.close()

Bu ipuçları, SQLite3 Python modülünü daha etkili bir şekilde kullanmanızı sağlayacaktır. Ancak, SQLite3 ile çalışırken daima dikkatli olmak ve veritabanının doğru yapılandırıldığından emin olmak önemlidir.

0 yorum:

Yorum Gönder