Site Loader

Merhaba arkadaşlar uzun zamandır fırsat bulup yazamadığım veri tabanı işlemlerini bugün anlatacağım sizlere.

Tüm eğitim serisine ulaşmak için tıklayınız

Python da istediğmiz işlemleri yapabiliyorduk. Bundan önceki yazılarımızda bir çok python işlemleri yaptık. Bu dersimizde genel olarak pythonda veri tabanı işlemlerini yapacağız. SELECTINSERTUPDATEDELETE bu işlemleri yapacağız. Arkadaşlar bu işlemler başka şekilde de adlandırılıyor Crud işlemler olarakta geçiyor.

O zaman başlayalım anlatmaya :=)

Mysql ile veri tabanı işlemleri yapabilmemiz için öncelikle projemize import etmemiz gerekiyor.

pip install PyMySQL

(win+r ) tuş kombinasyonunu kullanarak açılan pencerede cmd yazmanız yeterli gelen ekranda size verdiğim bu kodu projenizin olduğu kısımda indirin.

Bunu yaptıktan sonra artık projemize import edebiliriz.

import pymysql.cursors

Artık projemize import etmiş bulunmaktayız bundan sonra veri tabanı bağlantısı için kısa bir kod yazalım.

# Veritabanı bağlantı bilgileri
db = pymysql.connect(host='localhost',
                             user='databasekullaniciadi',
                             password='databaseparolasi',
                             db='dbadı',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

# İşaretçimizi oluşturalım
baglanti = db.cursor()

Eğer bilgiler doğru ise  python dosyanızı çalıştırdığınızda bir hata almamanız gerekiyor. Boş bir çıktı görüyorsanız ilk aşamayı başarıyla geçtiniz demektir.

Select İşlemi

En çok kullanılan komut olan SELECT ile başlayalım. Bunun için ilk önce veritabanımızda örnek bir tablo oluşturalım. Ben Customer isimli tabloyu oluşturmak ve basit olması için sadece idad, soyad ,email sütunlarını kullanmak istiyorum. İlk başta örnek olarak bir kaç tane veride ekleyebilirsiniz:

Tablomuz ve örnek verilerimiz hazırsa sorgu kodumuzu hemen gönderelim:

baglanti.execute('SELECT * FROM customer')

Bu işlemden sonra sonuçlar bir dizi şeklinde döner. Bunları bir değişkene aktarmamız gerekiyor. Bunun için ise aşağıdaki şekilde yapmamız gerekiyor.

customer=baglanti.fetchall()

Artık gelen diziyi bir değişkene  atadık sıra ekrana yazma işlemine geldi. Bunun için basit bir for döngüsüne ihtiyacımız var.

for i in customer:
    print(i)

Çıktı:

{'id':1,'adi':'Sadık','soyadı':'Ortaoglan','email':'[email protected]'}
{'id':2,'adi':'Cahit','soyadı':'İşleyen','email':'[email protected]'}

Özet olarak execute fonksiyonu ile hangi komutu gönderirseniz dönen sonuçlar komutun çıktısı olacaktır. Sizlerde istediğiniz komutları yukarıdaki örnekteki gibi gönderebilirsiniz.

Insert işlemi

Veri tabanında bulunan tablomuza bir kullanıcı eklemek istediğimizde gereken kod yapısı şu şekildedir.

sonuc = baglanti.execute('INSERT INTO customer VALUES(%s,%s,%s)',(None,'Özlem',23))
db.commit()

print(str(sonuc) + " kullanıcı eklendi")

Çıktı:

1 kullanıcı eklendi

Yukarıdaki kodda %s ile göndereceğimiz değerleri belli ediyoruz. Tablomuzda id,ad ve yas stürunları olduğu için %s ile belirlediğim değişkenleri bir sonraki parametrede yazarak gönderiyoruz. Yani insert işleminin kabaca syntax yapısı şu şekildedir:

baglanti.execute = (SQL Komutu,Değişkenler)

Bu fonksiyon çalıştığında etkilenen girdi sayısını da sonuç değişkenimize aktarıyoruz. Bu sonuç değişkeni ile tabloya veri eklenip eklenmediğini kontrol edebilirsiniz. Eğer sonuç 0 ise tabloya ekleme olmamıştır.

En önemli kısmına gelirsek te db.commit() ile yaptığımız değişiklikleri veritabanına ileterek insert işlemini gerçekleştiriyoruz. Eğer commit() işlemini yapmazsanız insert işlemleriniz gerçekleşmez!

Update İşlemi

Şimdi geldik tablomuzdaki mevcut bir değeri güncellemeye. Bu işlem için UPDATE komutunu kullanacağız.

sonuc = baglanti.execute('UPDATE customer SET email= %s WHERE id= %s',('[email protected]',1))
db.commit()

print(str(sonuc) + " kullanıcı güncellendi")

Çıktı:

1 Kullanıcı Güncellendi

Update komutumuzu gönderdik ve işin kritik noktası olan commit() ile işlemlerimizi başarıyla tamamladık. Artık sıradaki işlemimize geçebiliriz.

Delete İşlemi

Bir değer silmek istersek DELETE komutunu kullanabiliriz.

sonuc = baglanti.execute('DELETE FROM customer WHERE id = %s',(1,))
db.commit()

print(str(sonuc) + " kullanıcı silindi")

Çıktı:

1 Kullanıcı silindi

 

Evet arkadaşlar Python Mysql Veri tabanı bu kadar, konu pekiştirmek için tekrar yapmanız sizlere daha çok şey katacaktır. Bu arada hali hazırda Cahit hocamızın Youtube üzerinde derslerin anlatımını yaptığı kanalı da takip edebilirsiniz sizin için de daha iyi olur.
Daha önce dediğim gibi veri tabanını tamamını anlatmadım işinize yarayacak kadarını anlattım ama daha fazlasına ihtiyaç duyarsanız aşağıda yorumlarda yada mail ile iletişem’e geçebilirsiniz kesinlikle çekinmenizi istemem ve umarım sizin için yararlı bir ders olmuştur .
pythonearth

Sağlıcakla 🙂

Post Author: Sadık Ortaoglan

computer enginering

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir