SQLit

Python'dan SQLite'a Nasıl Erişilir

Python'dan SQLite'a Nasıl Erişilir
Python, veri bilimi, ağ oluşturma, BT otomasyonu, sızma testi ve daha pek çok durumda onu kullanılabilir kılan özellikler açısından zengin, popüler ve sağlam bir programlama dilidir. Ayrıca, diğer programlama dillerini bilen geliştiricilerin Python kullanımına kolaylıkla uyum sağlamasına olanak tanıyan basit bir sözdizimine sahiptir.Veri her yerdedir ve çok çeşitli yazılım uygulamaları bir Veritabanı Yönetim Sistemi kullanarak verilerle etkileşime girer. SQLite, Python'daki en popüler veritabanı yönetim sistemlerinden biridir.

SQLite, büyük yazılım uygulamalarını ve gömülü sistemleri destekleyen basit, güçlü, açık kaynaklı ve ilişkisel bir veritabanı motorudur. SQLite bağımsızdır ve minimum yapılandırma gerektirir, bu da minimum zaman ile kurulumu ve çalıştırmayı ekstra kolaylaştırır. Varsayılan olarak Python, Python'da SQLite veritabanlarıyla çalışmak için çok sezgisel bir modül olan bir SQLite modülü (sqlite3) ile yerleşik olarak gelir.

Bu eğitimde, SQLite veritabanlarıyla çalışmak için Python'un nasıl kullanılacağına bakacağız. Bağlantı kurmaktan veritabanları oluşturmaya, veritabanlarını okumaya, veritabanlarını güncellemeye ve kaldırmaya kadar.

SQLite kurarak başlayalım:

SQLite ve Python'u Yüklemek

Linux dağıtımınıza bağlı olarak, SQLite arşivini https://www adresinden indirebilirsiniz.sqlit.kuruluş/indirme.html veya paket yöneticisini kullanın.

Debian'a yüklemek için:

sudo apt-get güncellemesi
sudo apt-get install sqlite -y

Ardından, Python3'ün en son sürümünün kurulu olması gerekir. Python, varsayılan olarak dağıtımınıza önceden yüklenmiş olmalıdır.

SQLite Kabuğu

SQLite veritabanlarıyla etkileşim kurmanın varsayılan yöntemi, kabuğu kullanmaktır. Kabuk, veritabanlarında işlevleri gerçekleştirmek için SQL komutlarını satır içi veya bir koleksiyon yürütmenize izin verir.

SQLite kabuğunu başlatmak için şu komutu kullanın:

$ sqlite

SQLite sürüm 2.8.17 Girin ".talimatlar için yardım”

sqlite>

Bu, komutları girmenize izin veren bir komut istemiyle SQLite kabuğunu başlatmalıdır. Komutu yazarak başlayın .kabuk yardımını görüntülemek için yardım.

sqlite> .Yardım
.veritabanları             Ekli veritabanlarının adlarını ve dosyalarını listeleyin
.çöplük ?TABLO?…       Veritabanını bir metin biçiminde boşaltın
.echo ON|OFF           Komut echo'yu açın veya kapatın
.çık                  Bu programdan çık
.açıkla ON|OFF        EXPLAIN için uygun çıktı modunu açın veya kapatın.
.başlık(lar) AÇIK|KAPALI      Başlıkların görüntülenmesini açma veya kapatma
.yardım                  Bu mesajı göster
.indeksler TABLO         TABLO'daki tüm endekslerin adlarını göster
.mod MODE             Modu "satır(lar)", "sütun(lar)"dan birine ayarlayın,
"insert", "liste" veya "html"
----------------------------------------------------------------------

SQLite kabuğundan çıkmak için şunu kullanın: .komuttan çık.

sqlite> .çıkmak

SQLite kabuğunun içinde kullanabileceğiniz başka işlevler ve işlemler vardır. Örneğin, tüm veritabanlarını görüntülemek için .veritabanı komutu.

SQLite kabuğunu denemenizi ve Python'da SQLite3 modülünün nasıl kullanılacağını anlamanıza izin vereceği için aşina olmanızı şiddetle tavsiye ederim.

Veritabanına Bağlanmak

Şimdi SQLite veritabanlarıyla etkileşim kurmak için Python ve SQLite3 modüllerini kullanalım. SQLite ile etkileşim kurmak için kullanabileceğiniz başka Python modülleri olduğunu belirtmekte fayda var. Ancak SQLite3 basittir ve Python ile birlikte gelir.

SQLite veritabanına bağlanmak için aşağıdaki betiği düşünün.

sqlite3'ü sqlite3'ten içe aktar Hatası
def connect_db(db_path):
bağlantı = Yok deneyin:
bağlantı = sqlite3.bağlan(db_path)
print("Veritabanı başarıyla bağlandı")
e olarak Error hariç:
print(f"Bir Hata Oluştu: e")
dönüş bağlantısı
connect_db("/home/user/Masaüstü/demo.sqlite")

SQLite ve Error modüllerini içe aktararak başlıyoruz.
3. satırda, argüman olarak veritabanının yolunu alan bir connect_db() işlevi oluşturuyoruz.
Sonraki bölüm bir deneme/hata bloğu içerir. İlk kısım argüman olarak veritabanı yolunu alır ve bir bağlantı kurar. Not, SQLite'ta belirtilen veritabanı mevcut değilse, otomatik olarak oluşturulur.
Hata bloğu, istisnaları yakalamaya çalışır ve bunları kullanıcıya yazdırır.
Son satırda connect_db fonksiyonunu çağırıyoruz ve kullanmak veya oluşturmak istediğimiz veritabanına giden yolu geçiyoruz.

NOT: Disk yerine bir bellek veritabanı oluşturmak istiyorsanız, connect nesnesinde :memory belirtebilirsiniz.

sqlite3.bağlan(“:bellek”)

SQLite Tablo Oluştur

SQLite'de, CREATE TABLE Sorgusunu kullanarak tablolar oluşturmak için SQL kabuğunu kullanabiliriz. Genel sözdizimi şöyledir:

CREATE TABLE veritabanı_adı.Tablo ismi (
sütun_adı veri türü BİRİNCİL ANAHTAR(sütun(lar),
sütun2_adı veri türü,
… columnN_name veri türü,
);

Birincil odak noktamız Python olduğu için SQLite kabuğu kullanarak tablolar oluşturmaya dalmayacağım. Daha fazla bilgi edinmek için aşağıdaki kaynaktan SQL Lite belgelerini inceleyin. Şimdi, veritabanı tabloları oluşturmak için Python ve sqlite3 modüllerini kullanmak için, imleç nesnesini kullanmamız ve SQL sorgularının işlevlerini yürütmemiz gerekiyor. Aşağıdaki kodu göz önünde bulundurun:

sqlite3'ü sqlite3'ten içe aktar Hatası
def connect_db(db_path):
bağlantı = Yok
Deneyin:
bağlantı = sqlite3.bağlan(db_path)
print("Veritabanı başarıyla bağlandı")
e olarak Error hariç:
print(f"Bir Hata Oluştu: e")
dönüş bağlantısı def run_query(bağlantı, sql_query):
imleç = bağlantı.imleç()
Deneyin:
imleç.yürüt (sql_query)
bağ.taahhüt()
print("SQL Sorgusu Başarıyla Çalıştırıldı... [Tamam]")
e olarak Error hariç:
print(f" Sorgu Başarısız… e")
sorgu = """
MEVCUT DEĞİLSE TABLO OLUŞTUR (
id INTEGER BİRİNCİL ANAHTAR OTOMATİK ARTIRMA,
isim METİN NULL DEĞİL,
yıl INTGER,
tür METİN,
ülke METİN
);
"""
run_query(connection=connect_db("/home/user/Desktop/sql).sqlite"), sql_query=sorgu)

Şimdi yukarıdaki kodun ne yaptığını tartışalım - yukarıda açıklanan ilk işlevi bulun (lütfen bakın). İkinci fonksiyonda oluştur, bağlantıyı ve çalıştırılacak sorguyu parametre olarak geçiyoruz. Aşağıdaki satırlar, yürütme yöntemini çağırmak için kullanacağımız bir imleç nesnesi oluşturur. Yukarıda belirtildiği gibi, sonraki satırlar, yöntemi yürütmek için imlecin nesnesini çağırır ve sorguyu parametre olarak iletir. Blok ayrıca başarılı Sorgu yürütmesi üzerine bir mesaj yazdırır. Sorgu başarıyla yürütüldüğünde, SQLite'a değişiklikleri veritabanına kaydetmek için taahhüt yöntemini kullanmasını söyleriz. Hariç bloğu istisnaları yakalar ve hata mesajını kullanıcıya yazdırır. Son olarak, basit SQLite sözdizimini kullanarak yürütülecek Sorguyu oluşturuyoruz.

SQLite Ekle Kayıtları

SQLite veritabanına veri eklemek için, ona ilettiğimiz herhangi bir SQLite sorgusunu çalıştırabileceğinden, oluşturmak için kullandığımız run_query() işlevine dalabiliriz. Ancak tabloya veri eklemek için INSERT INTO sorgusunu kullanırız.

Aşağıdaki bloğu düşünün:

add_shows = """
TAKIN
gösterir (kimlik, ad, yıl, tür, ülke)
DEĞERLER
("101", "Brooklyn Nine-Nine", "2013", "komedi", "ABD"),
("201", "Star-Trek: Discovery", "2017", "Bilim Kurgu", "ABD"),
("301", "Uzay Yolu: Picard", "2020", "Bilim Kurgu", "ABD");
""" run_query(bağlantı=connect_db("/home/user/Desktop/sql).sqlite"), sql_query=add_shows)

Şimdi run_query işlevini çağırmamız ve show tablosuna veri eklemek için add_shows sorgusunu eklememiz gerekiyor. Hata almamak için veri eklediğiniz tablonun mevcut olduğundan emin olun.

SQLite Kayıtları Sil

Belirtilen tablodan kayıtları kaldırmak için run_query() işlevini de kullanabilirsiniz. Tek ihtiyacınız olan, sorguyu DELETE FROM olarak ayarlamaktır.

Aşağıdaki alt sorguyu göz önünde bulundurun:

remove = "DELETE FROM WHERE adını gösterir = 'Brooklyn Nine-Nine'" run_query(connection=connect_db("/home/user/Deskop/sql).sqlite"), sql_query=kaldır)

Yukarıdaki sorgu, gösteriler tablosundan “Brooklyn Nine-Nine” şovunu kaldırır.

Sonuç

Bu eğitici, SQLite veritabanlarına erişmek ve bunlarla etkileşim kurmak için Python'u nasıl kullanacağınızı öğretti. Bu öğreticiden öğrendiklerinize göre artık işlevler oluşturabilir, SQLite veritabanlarına bağlanabilir, tablolar oluşturabilir, veri ekleyebilir ve bunları silebilirsiniz. Bu, Python'da SQLite ile çalışmak için bir başlangıç ​​kılavuzu olmasına rağmen, SQLAlchemy ve benzeri diğer teknolojileri öğrenmeye başlamanızı sağlamalıdır.

En İyi 5 Oyun Yakalama Kartı
YouTube'da oyun akışlarını hepimiz gördük ve sevdik. PewDiePie, Jakesepticye ve Markiplier, oyun deneyimlerini yükleyerek ve izleyicileri en yeni oyun...
Linux'ta Oyun Nasıl Geliştirilir
On yıl önce, pek çok Linux kullanıcısı en sevdikleri işletim sisteminin bir gün ticari video oyunları için popüler bir oyun platformu olacağını tahmin...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...