Anasayfa > Dökümanlar > Python MYSQL ile veritabanı programlama

Python MYSQL ile veritabanı programlama

Python ve VeriTabanı Programcılığına Giriş

Önce gerekliliğinden bahsedelim biraz, bir kişi C programlama dilini bilebilir ama C programlama dilindeki İşaretci(Pointers) kavramını bilmiyorsa C ile pek birşey yapamaz, aynı şekilde Delphi ve VB de de buna benzer durumlar vardır, Python da ise bu konu MySQL ile python’ı bütünleştiremediğinizde ortaya çıkar yani python bilmeniz pek işe yaramaz maalesef.

Giriş: İlk olarak mysql’e bağlanmamız gerek;

bu komut yardımı ile mysql’e bağlanmış olduk.

Şimdi sırada ise bir veritabanı oluşturmaya geldi;

böylece resetyazilim isimli bir vertabanımız oldu.Artık kullanacağımız veritabanını resetyazilim olarak ayarlamak kaldı.

Şimdi ise artık bu veritabanına ilgili bilgileri girmekte sıra, mesela bu bir not çizelgesi olsun ve ona uygun bir şekilde veritabanını düzenleyelim.

şu komutları kullanarak veritabanını yapılandıralım:

mysql> create table karne (
-> no INT(4) PRIMARY KEY,
-> adisoyadi VARCHAR(50),
-> fen INT(2),
-> matematik INT(2),
-> sosyal INT(2));

Böylece karne isimli bir tablo içeriisnde 3 adet derse ait bilgileri girebileceğimiz bir karnemiz oldu.

Şimdi sıra bu karne içeriğini doldurmaya geldi. 3 adet öğrenci için gerekli kodlar bunlar:

mysql> insert into karne (no,adisoyadi,fen,matematik,sosyal)
-> values (262,”tutku”,4,5,6);
mysql> insert into karne (no,adisoyadi,fen,matematik,sosyal)
-> values (232,”hasan”,7,8,9);
mysql> insert into karne (no,adisoyadi,fen,matematik,sosyal)
-> values (222,”efe”,7,8,9);

şimdi kontrol amaçlı olarak

mysql>select *from karne;

komutunu kullanırsak çıktı şu şekilde olması gerek:

Artık veritabanı ile işimiz bitti sıra Python ile programlamaya geldi.

Python Programlama:

import MySQLdb
db=MySQLdb.Connection(host=”localhost”,user=”root”,passwd=”37697671″,db=”resetyazilim”)
cursor=db.cursor()
cursor.execute(“SELECT * FROM karne”)
r=cursor.fetchall()
cursor.close()
print r

bu kısa kod boluğunun yaptıklarını inceleyelim: MYSQLdb modülünü etkin hale getirerik, resetyazilim isimli veritabanına girip buradan karne isimli tabloyu ve içerisindeki değişkenleri r değişkenine

r=cursor.fetchall()

komutu ile aldırdık.

Program çıktısı şu şekilde olacaktır:

((262L, ’tutku’, 4L, 5L, 6L), (232L, ’hasan’, 7L, 8L, 9L), (222L, ’efe’, 7L, 8L, 9L))

Burada L karakterlerinin ne anlama geldiğini merak edebilirsiniz, veri tabanı hazırlanırken biz sayı değeri olarak numaraya 4 basamak notlara ise 2 basamak yer ayırdık bu L karakterleri boş alanı simgeliyor.

şimdi işi biraz ileri götürelim, mesela fen notu 5’in üzerinde olan öğrencileri listeleyen bir Python programı yazalım:

import MySQLdb
db=MySQLdb.Connection(host=”localhost”,user=”root”,passwd=”37697671″,db=”resetyazilim”)
cursor=db.cursor()
cursor.execute(“SELECT * FROM karne where fen>5″)
r=cursor.fetchall()
cursor.close()
print r

Program bir önceki adım ile aynı birtek, cursor.execute() bloğu değişik, burada Where ile tablo içerisinde arama yapıyoruz, where’den sonra gelen elemanlar ise bize arama koşulunu belirtiyor.

Sanırım artık MySQL veritabanı komutlarının Python ile kullanırken cursor.execute() fonksiyonunun kullanıldığını öğrenmişsinizdir.

Pekiştirmek için matematik notu 5’in üstünde olup fen notu 7 olan öğrenciyi(leri) listeleyen bir Python programı yazalım:

import MySQLdb
db=MySQLdb.Connection(host=”localhost”,user=”root”,passwd=”37697671″,db=”resetyazilim”)
cursor=db.cursor()
cursor.execute(“SELECT * FROM karne where matematik>5 AND fen=7”)
r=cursor.fetchall()
cursor.close()
print r

Mantık işlevi diğer dillerden de bildiğini gibi AND ile yapıldı.

Artık sanırım bu noktadan sonra hazırlanmış bir veritabanını Python ile yönetebilirsiniz, sırada ise sıfırdan bir veritabanını Python ile yaratıp onu düzenlemek ve yönetmek var. Tabi biraz vakit sonra…

Kaynak: wiki.pardus-linux.org

Kategoriler:Dökümanlar Etiketler:, , , ,
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: