Merhabalar Veritabanı Silme İşlemi

Merhabalar Python3 sqlite üzerinde bir kaç işlem yapacağım silme işlemine dair bir örnek verebilecek olan olur ise sevinirim

Merhaba.

Eğer veritabanınızı bir dosyaya kaydediyorsanız, doğrudan dosyayı silerek veritabanını silmiş olursunuz. Eğer veritabanını geçici hafızada tutuyorsanız, uygulama kapandığında veritabanı da otomatik olarak silinecektir.

İyi çalışmalar.

Sanırım detay vermedim veritabanından veri silme ili ilgili bir konudan bahsediyorum.

Yanlış hatırlamıyorsam böyle olmalı ama emin değilim.

con = sql.connect(“database.db”)
cur = con.cursor()
cur.execute(“SELECT * FROM table WHERE sütun == ‘silinecek’”)
cur.delete()
cur.commit()       # SQLite ise
cur.close()
con.close()

Ayrıntılı bilgi: https://belgeler.yazbel.com/python-istihza/sqlite.html

Merhaba,
Aşağıdaki örneği inceleyebilirsiniz.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sqlite3 as sql

connect = sql.connect("test.db")
cursor = connect.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS veriler(no)")


def sutun_ekle(sutun):
    """Sütun ekler."""
    cursor.execute("ALTER TABLE veriler ADD COLUMN {}".format(sutun))
    connect.commit()


def sutun_sil(korunacak_sutunlar):
    """korunacak_sutunlar demetine alınmayan sütun, otomatik
    olarak silinir."""
    cursor.execute(
        "CREATE TABLE IF NOT EXISTS yedek({})"
        .format(", ".join(korunacak_sutunlar)))
    for i in cursor.execute(
            "SELECT {} FROM veriler"
            .format(", ".join(korunacak_sutunlar))):
        cursor.execute(
            "INSERT INTO yedek VALUES({})"
            .format(", ".join("?" * len(korunacak_sutunlar))), i)
    cursor.execute("DROP TABLE veriler")
    cursor.execute("ALTER TABLE yedek RENAME TO veriler")
    connect.commit()


def veri_ekle(*args):
    """Bu fonksiyonu kullanabilmek için önce sutun_ekle()
    fonksiyonu çağrılarak sutunlar oluşturulmalıdır.
    Sonra da ekle() fonksiyonu çağrılarak,
    veriler sütunlara yerleştirilir."""
    no = 1
    for _ in cursor.execute("SELECT * FROM veriler"):
        no += 1
    veri = tuple()
    veri += no,
    for i in args:
        veri += i,
    cursor.execute(
        "INSERT INTO veriler VALUES({})"
        .format(", ".join("?" * len(veri))), veri)
    connect.commit()


def veri_degistir(no, sec, yeni):
    """Veri numarasına ve seçilen sütun ismine göre
    verileri değiştirir."""
    cursor.execute(
        "UPDATE veriler SET {} = ? WHERE no = ?".format(sec), (yeni, no))
    connect.commit()


def veri_sil(no):
    """Veri satırını, satır numarasına göre siler."""
    cursor.execute("DELETE FROM veriler WHERE no = ?", (no,))
    connect.commit()


if __name__ == "__main__":
    # Önce veritabanında yeni sütunlar oluşturulur.
    sutun_ekle(sutun="isim")
    sutun_ekle(sutun="soyisim")

    # Sonra bu sütunlara yeni veriler girilir.
    veri_ekle("Ali", "Çınar")
    veri_ekle("Ali", "Kaplan")

    # Numarası '1' olan satırın, 'soyisim' isimli sütunundaki veri değiştirilir.
    veri_degistir(no=1, sec="soyisim", yeni="Oğuz")

    # Şimdi bu veri satırını silelim.
    veri_sil(no=1)

    # 'telefon' isminde bir sütun eklenir.
    sutun_ekle(sutun="telefon")

    # Numarası '1' olan satır silindiği için,  numarası '2' olan
    # satırın, 'no' isimli sütunundaki değer, '1' olarak değiştirilir. 
    veri_degistir(no=2, sec="no", yeni=1)

    # 1 numaralı yeni satırın, 'telefon' isimli sütunundaki veriyi güncelleyelim.
    veri_degistir(no=1, sec="telefon", yeni="0150")

    # Şimdi 'soyisim' sütununu silelim.
    sutun_sil(korunacak_sutunlar=("no", "isim", "telefon"))

    connect.close()
2 Beğeni

Çok teşekkürler iyi zaman’lar.

1 Beğeni