Eğlenceye Davetlisiniz...

Python Sqlite3 Veritabanı Bağlantısı -Phoique

Merhaba arkadaşlar bugün pythonda en meşur veritabanı olan sqlite3 ile veritabanının temel işlemlerinden bahsedeceğim. Bu konuda pythonu neredeyse temeli bilenler için anlama bakımından daha yararlı olacağını düşünüyorum.

İlk olarak bir modülü çağırmamız lazım.

Kod:
import sqlite3 as sql
Burada modülü import ettikten sonra as sql ile sql şeklinde kısattık. Bu işlemden sonra bir bağlantı değişkeni oluşturup veritabanı yolumuzu göstermemiz gerekir.
Kod:
baglan = sql.connect("datebase.db")
Bağlan adında bir sql bağlantısı oluşturduk parantez içinde datebase.db datebasenin bulunduğu dizindir. Buraya isterseniz C:// gibi dizin de yazabilirsiniz. Eğer benim gibi yazarsanız projenizin bulunduğu dizine oluşturacaktır.

Not: Eğer ki datebasenizi kendiniz oluşturmadıysanız python otomatik olarak belirtiğiniz dizinde datebasenizi oluşturmaktadır.

Şimdiye kadar herhangi bir sorun olmadıysa güzel gidiyorsunuzdur. Bundan sonraki işlem bir cursor değişkeni oluşturmak bu oluşturduğumuz değişkenin işlemi veritabanında sorguları select,insert,delete gibi işlemleri işleyen değişken olacaktır.

Kod:
cur = baglan.cursor()

Biliyorum makaleyi buraya kadar okudunuz ama hala bir işlem yapmış değilsiniz. Geliyor merak etmeyin.
Veritabanına Tablo ve Colon OluşturmaYukarıda veritabanını oluşturmuştuk, ee haliyle tablo oluşturmak gerekir. Pythonun bir güzelliği daha tabloları kodla oluşturabilme gibi bir avantajımız vardır. İsterseniz siz elle de oluşturabilirsiniz ama ben kodla oluşturmayı tercih ettim.

Kod:
cur.execute("CREATE TABLE IF NOT EXISTS kullanicilar(id INTEGER PRIMARY KEY, kullanici_adi , sifre, ad_soyad)")

Burayı ve bundan sonraki select insert kodlarını açıklama yapmayacağım fazla çünkü bu kodlar ve daha fazlasını bilmek için sql sorgulama dilini bilmeniz gerekir. cur.execute("İşlemlerin yazıldığı yer insert,delete,update vs") şeklinde çalışmaktadır. Yukarıda kullanicilar adında bir tablo oluşturup içine id,
kullanici_adi , sifre, ad_soyad şeklinde colonlar oluşturduk. İsterseniz son fonksiyondan sonra kontrol edebilirsiniz.

Eee bu kadar işlem yaptık kaydetmek lazım bu işlemleri veritabanına bunun için 

Kod:
baglan.commit()
yazmamız gerekir. Bunu da yazıp kaydetme işlemi yaptık veritabanı açık mı kalsın kapatmak lazım.
Kod:
baglan.close()
Heh şimdi tüm kodları şöyle bir tekrar yazalım ve projemizi çalıştıralım.
Kod:
import sqlite3 as sql
baglan = sql.connect("datebase.db")
cur = baglan.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS kullanicilar(id INTEGER PRIMARY KEY, kullanici_adi , sifre, ad_soyad)")
baglan.commit()
baglan.close()
Şimdi ise çalıştıralım. Çalıştırdıktan sonra belirtiğiniz dizinde eğer dizin belirtmediyseniz projenin olduğu klasorde datebase.db adında bir dosya oluşmaktadır. Bu dosyayı açmak için:

DB Browser for SQLite

indirip kullanmanız gerekir. Resimde de gördüğünüz gibi tablolar ve colonlar oluşmuştur.

Resim yeniden boyutlandırıldı, orjinalini görmek için tıklayın.


Tablomuz da oluştuğuna göre artık insert, select gibi işlemleri yapmaya başlayalım.

Veri Ekleme(INSERT INTO)
Yukarıda da dediğim gibi fonksiyonları fazla anlatmayacağım. Sadece anlatılması gerekenleri anatıp geçeceğim. Çünkü konu çok uzayacak ve sizler de okurken sıkılacaksınız. Kahvenizi,cayınızı felan yenilemeyi unutmayın.

Kod:
cur.execute("INSERT INTO kullanicilar(kullanici_adi , sifre, ad_soyad) VALUES(?, ?, ?)",(k_adi,sifre,ad_soyad))

Burada Insert ınto tablo(colonlar) Values(colonlara eklenecek veriler) şeklinde kullanılır. Ben orada fark ettiğiniz gibi ?? şeklinde yazdım. 3 tane yapmamın sebebi ise 3 tane colonuma sonra veri gireceğimi söylemem. Valuesin parantezinin bitişinden sonra , koyup parantezler içinde sonra gireceğimizi söylediğimiz için giriyoruz değerlerimizi isterseniz siz VALUES(kullanici_adi = 'xx') şeklinde de yapabilirsiniz. Ben değerleri değişkenden çekmek istedim. Buda eklediğimiz veri...



Kodun tamamı:

Kod:
import sqlite3 as sql
baglan = sql.connect("datebase.db")
cur = baglan.cursor()
cur.execute("INSERT INTO kullanicilar(kullanici_adi , sifre, ad_soyad) VALUES(?, ?, ?)",(k_adi,sifre,ad_soyad))
baglan.commit()
baglan.close()
Şimdilik bu kadar arkadaşlar konu git gide uzayacağı için vaktim oldukça en kısa sürede tamamlayacağım.
Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 yorum:

Yorum Gönder