SqLite İle Python Veritabanı – Turkish Tutorial

in utopian-io •  7 years ago  (edited)

Merhaba arkadaşlar ben Seyda 3 yıldır Python ile uğraşıyorum ileri düzeyde programlama yapıyorum bugün sizlere Python’da basit bir veritabanı oluşturup oradan işlem yapmayı öğreticem.

Öncelikle Sqlite’ı bilgisayarımıza indirmemiz gerekiyor
Windows :http://sqlitebrowser.org/ (buradan exe dosyasını indirip normal dosya gibi kurun)
Ubuntu : sudo apt-get install sqlitebrowser
GNU/Linux : zaten bilgisayarlarında mevcuttur.

Ubuntu kullanan arkadaşlar için bir kaç koda daha ihtiyaçları olacaktır onlarda

1- sudo apt-get install build-essential cmake libqt4-dev libsqlite3-dev
2- tar zxvf sqlitebrowser-3.7.0.tar.gz
3- cd sqlitebrowser-3.7.0
4- cmake
5- make
6- sudo make install

böylelikle programı kurmuş olduk test etmek içinde şu kodu kullana bilirsiniz

sqlitebrowser

eğer pencere açıldıysa her şey yolundadır demektir. Fakat açılmadıysa yukarıda ki işlemleri terkarlamınızı tavsiye ediyorum hala hata alıyorsanız yorum atarsanız yardımcı olabilirim

Veritabanı Oluşturma

İlk veritabanımızı oluşturmak için uzun zamandır sabit bir şekilde değişmeyen kodumuz olan

import sqlite3

bu şekilde sqlite ı programımıza dahil ettik.
Daha sonra ise ilk veritabanımızı oluşturmak için aşağıdaki satır ile veritabanınızı oluştura bilirsiniz

vt = sqlite3.connect('utopian.sqlite')

connect methodu veritabanına bağlanma/oluşturma methodudur eğer öyle bir veritabanı yoksa yeni bir veritabanı açar yani connect methodu hem yeni bir veritabanı oluşturma methodu hemde varolan veritabanına bağlanma methodu. Utopian.sqlite diye bir veritabanımız olmadığından yeni bir veritabanı açmış olduk.

Veritabanını açtığımıza göre artık bu veritabanında bir işlem yapmamız gerekecek onun için de cursor methodu ile veritabanına iyice giriş yapıp seçiyoruz.

sv = vt.cursor()

ben sv değişkenine atadım biliyorsunuz ki istediğiniz değişkene atayabilirsiniz. Bu kodu kullandıktan sonra giriş yapmış olduk.

Yeni bir method olan execute methodu ile de veritabanımızda bir tablo oluşturabiliriz onun için aşağıdaki örnek satırdan yola çıkarak kendi tablonuzu oluştura bilirsiniz

sv.execute("CREATE TABLE utopianio (isim, soyisim)")

utupianio diye bir tablo oluşturduk ve bu toplanın içine isim soyisim diye sütünlar açtık. Ve şimdi geldik tabloya veri girmeye

yine execute methodunu kullanarak ama bu sefer rahatlık ve okuna bilirlik açısından bir değişkene atayalım. Aşağıda ki satırdı utopianio tablonusuna sırasıyla yukarıda verdiğimiz önce isim sonra soyisim sırasıyla değerleri giriyoruz.

veri_gir = """INSERT INTO utopianio VALUES ('Seyda', 'Bozkurt')"""
sv.execute(veri_gir)<

şimdi burada ne yaptık önce utopianio tablosunun içine isim kısmına Seyda soyisim kısımına Bozurt u ekledik ve bir değişkene atadık. Daha sonra ise execute methodu ile veritabanımıza yazdırdık

ve şimdi bu işlemleri veritabanına işlememiz gerekiyor yukarıdaki kodlarla veritabanına Bir şeyler yazdırmak istedik fakat şimdi ise işleme kısımını yani birleştirme kısmını yapacağız.

Bu konuda ise bizlere commit methodu yardımcı olacak. Aşağıdaki satır ile veritabanımıza işleye biliriz.

sv.commit()

artık işlemlerimizi yaptık eklemeyi işlemeyi herşeyi yaptığımıza göre prensiplere göre veritabanını kapatmamız gerekecek onun içinde close methodunu kullanacağız.

sv.close()

bu şekilde veritabanımızı kapatmış olduk.

Şimdiye kadar veritabanı oluşturma bağlanma tablo oluşturma tabloda sütün oluşturma, sütunlara sırayla değer girmeyi, verileri veritabanına işlemeyi ve son olarak da kapatmayı öğrendik. Peki bu veritabanında yazdırma işlemini nasıl yapacağız hemen onu anlatalım.

Bu konuda bizlere fetchall methodu yardımcı olacak.

veriler = sv.fetchall()
print(veriler)<

şöyle bir çıktı almamız gerekecek

Başlıksız.png

eğer böyle bir çıktı alırsak her şey mükemmel bir şekilde yapmışsınız demektir :) . arkadaşlar bu yazımda Sqlite’a giriş yapmak istedim sizlere veritabanı, tablo , sütun oluşturmayı veri girmeyi ve veriyi yazdırmayı öğrettim diğer yazılarımda ise daha gelişmiş olarak veritabanı bilgilerini tek tek çekme dosyaya yazdırma vs. gibi anlatımlar yapacağım yakın zamanda bu sqlite ile alakalı sizler için bir uygulama yazacağım takipte kalırsanız sevinirim eğer takıldığınız bir nokta var ise hata aldığınız bir durumda falan yazabilirsiniz yorum atmayı unutmayın teşekkür ederim :)..

Kodlar:

import sqlite3
vt = sqlite3.connect('utopian.sqlite')
sv = vt.cursor()
sv.execute("CREATE TABLE utopianio (isim, soyisim)")
veri_gir = """INSERT INTO utopianio VALUES ('Seyda', 'Bozkurt')"""
sv.execute(veri_gir)
sv.commit()
veriler = sv.fetchall()
print(veriler)<

Github Linki : https://github.com/kansiper/Python-Sqlite3



Posted on Utopian.io - Rewarding Open Source Contributors

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Bir dönem sqlite ile ilgileniyordum ancak yarım kaldı. Umarım bu yazının devamı gelir. Benim için de güzel bir fırsat olur. Yeni yılda yeni bir başlangıç yapma fırsatım daha olur. Takipteyim ;).

Hey @seydabozkurt I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x