SQLİTE veritabanı bize yerel bir sistemde verilerimizi tutmamızı sağlayan ilişkisel veri tabanı sistemidir.  SQLite veritabanını Python, Java, Php, C, C++ gibi birçok programlama dili ile kullanılabilir. Python programlama dili ile sqlite işlemlerini gerçekleştireceğiz.

Python - SQLite Database Crud İşlemleri

SQLİTE veritabanı bize yerel bir sistemde verilerimizi tutmamızı sağlayan ilişkisel veri tabanı sistemidir. SQLite veritabanını Python, Java, Php, C, C++ gibi birçok programlama dili ile kullanılabilir. Python programlama dili ile sqlite işlemlerini gerçekleştireceğiz.

Python ile sqlite3 kullanmak için kütüphanemizi import etmeliyiz. Eğer kütüphane sizde yüklü değilse pip kullanarak kütüphaneyi yükleyiniz.

pip install db-sqlite3

Aşağıdaki kodda kitaplar adında bir veritabanı oluşturuyoruz. Programımızı bir kere çalıştırdığımızda kitaplar adında bir veritabanı dosyası, çalıştığımız dizinde oluşacaktır. Bir kere dosya oluştuktan sonra, programı diğer çalıştırmalarımızda bu dosya olduğu için dosya oluşmayacaktır.

# -*- coding: utf-8 -*-
"""
Created on Sat Mar 16 10:37:16 2019

@author: Ertuğrul
"""

#Veritabanı oluşturmak
import sqlite3

db=sqlite3.connect("kitaplar")

db.close

 

Veritabanı dosyası içerinde tablo, satır ve sütun eklemek için kullanmamız gereken yapı sqlite için imleçtir.  Cursor() methodu ile imleç oluşturma işlemini yapabiliriz.

#İmleç oluşturmak
import sqlite3

db=sqlite3.connect("kitaplar")

imlec=db.cursor()

db.close

 

İmleçi kullanarak komutlar ile tablo oluşturabiliriz. Execute komutu içerisinde sql sorgusu yazıp yapmak istediğimiz işlemleri gerçekletirebiliriz. Kitaplık adında bir tablo oluşturup içerisine id, yazar ve kitap sütunlarını oluşturalım. Oluşturmuş olduğumuz veribanı içeriğini görmek için küçük bir programa ihtiyacımız olacak programı  https://sqlitebrowser.org/dl/  adresinden temin edebilirsiniz.

#Tablo oluşturma işlemi
import sqlite3

db=sqlite3.connect("kitaplar")

imlec=db.cursor()

imlec.execute("CREATE TABLE kitaplik (id,yazar,kitap)")

db.close

 

Bu tablo bir kere oluşturulduğu zaman ikinci kez çalıştırıldığında bir daha oluşturulmasını engellemek için şartlı tablo oluşturma kullanılmalıdır. IF NOT EXISTS kullanarak bu işlemi gerçekleştirebiliriz.

#Şartlı tablo oluştume işlemi
import sqlite3

db=sqlite3.connect("kitaplar")

imlec=db.cursor()

imlec.execute("CREATE TABLE IF NOT EXISTS kitaplik (id,yazar,kitap)")

db.close

 

Oluşturduğumuz tabloya veri girmek için SQL sorgumuzu değiştirmemiz yeterlidir.

#Tabloya veri girmek

import sqlite3

db=sqlite3.connect("kitaplar")

imlec=db.cursor()

imlec.execute("CREATE TABLE IF NOT EXISTS kitaplik (id,yazar,kitap)")

imlec.execute("INSERT INTO kitaplik VALUES (1,'Ertuğrul Deniz','Python3')")

db.commit()

db.close

 

Biden fazla veri girmek için demet kullanalım. Bu verileri dinamik hala getirilip kullanıcıdan veri alınarak gerçekleştirilebilir.

#Parametreli Sorgular

datas=[
      (2,"George Orwell","Hayvan Çiftliği"),
      
      (3,"Winston Graham","Ross Poldark"),
      
      (4,"Winston Graham","The Black Moon "),
      
      (5,"Stefan Zweig","Santranç"),
      
      (6,"Dostoyevski","Suç ve Ceza"),
      
      (7,"Dostoyevski","İnsancıklar"),
     ]

import sqlite3

db=sqlite3.connect("kitaplar")

imlec=db.cursor()

imlec.execute("CREATE TABLE IF NOT EXISTS kitaplik (id,yazar,kitap)")

for data in datas:
    imlec.execute("INSERT INTO kitaplik VALUES (?,?,?)",data)

db.commit()

db.close

Eklenen verilerin tamamını okuma işlemini gerçekleştirmek için  fetchall komutunu kullanabiliriz. Satır satır okumak için fetchone() komutu kullanılır.

#Tüm verileri okuma işlemi

import sqlite3

db=sqlite3.connect("kitaplar")

imlec=db.cursor()

imlec.execute("SELECT * FROM 'kitaplik'")

datas=imlec.fetchall()

for data in datas:
    print(data)

db.commit()

db.close

 

Koşullu olarak veri çekme işlemini gerçekleştirmek için SQL sorgumuzda Where koşulu ile kolay bir biçimde yapabiliriz. Aşağıdaki örnekte sadece Dostoyevski'ye ait kitapları seçecek bir sorgu yazacağız.

#Koşul işlemleri

import sqlite3

db=sqlite3.connect("kitaplar")

imlec=db.cursor()

imlec.execute("SELECT * FROM 'kitaplik' WHERE yazar='Dostoyevski'")

datas=imlec.fetchall()

for data in datas:
    print(data)

db.commit()

db.close

SQLite ile diğer veritabanları ile gerçekleştirdiğimiz işlemleri basit ve hızlı bir şekilde gerçekleştirebildik. SQLite veritbanı hakkında daha detaylı bilgi edinmek için bu linkteki siteden faydalanabilirsiniz. 

 

Bu Gönderiyi Paylaş

İçerik Hakkında Yorum Yapın

www.000webhost.com