Merhaba, bu yazıda Python’da mysql bağlantısı nasıl yapılır inceleyeceğiz.
Python’da veritabanı bağlantılarını gerçekleştirmek önemlidir, çünkü hangi uygulamayı yaparsak yapalım kuvvetli ihtimal bir veritabanına ihtiyacımız olacaktır. Şimdi uygulama üzerinden kısaca açıklayalım.
Öncelikle hazırda kurulu bir veritabanı ve bir tablonuz olduğun var sayıyorum, ben örneklerimi MySQLde yapacağım ancak farklı bir veritabanında da işlemler benzer olacaktır.
Flask ile oluşturacağımız uygulamada, “/insert” adresine gittiğimizde tabloya bir kayıt ekleyecek, “/select” adresine gittiğimizde tablomuzu sorgulayacak.
Hemen başlayalım,
MySQL veritabanında ogrenci_liste adında bir tablo oluşturdum şuan için herhangi bir kayıt yok.
Şimdi flask tarafını hazırlayalım,
from flask import Flask,jsonify import mysql.connector app = Flask(__name__) mydb = mysql.connector.connect( host="localhost", user="root", password="123", port= 30106, database="flask_mysql" ) @app.route("/insert") def insertData(): mycursor = mydb.cursor() sql = "INSERT INTO ogrenci_liste (isim, soyisim,yas) VALUES ('Ali','Koç',55)" mycursor.execute(sql) mydb.commit() return " Başarıyla Eklendi" @app.route("/select") def selectData(): mycursor = mydb.cursor() mycursor.execute("SELECT * FROM ogrenci_liste") row_headers = [x[0] for x in mycursor.description] result = mycursor.fetchall() data = [] for res in result: data.append(dict(zip(row_headers,res))) return jsonify(data) if __name__ == '__main__': app.run()
Kod kısmını açıklamaya başlayalım.
Kütüphaneleri import ettikten sonra Flask kısmı daha önceki yazılardan aşina olduğunuz şekilde "/insert"
ve "/select"
iki farklı url’e hedeflenmiş fonksiyonlardan oluşmakta.
Öncelikle veritabanımıza bağlanmak için mysq connector ile connection bilgilerini verdik. Burada girilen bilgiler yanlış ise uygulamamız çalışsa bile o url’e gittiğimizde hata alacağız.
mycursor = mydb.cursor()
ile bir veritabanı bağlantısı oluşturuyoruz ve klasik bir insert ifadesi yaratıyoruz.
Ardından execute ile komutu çalıştırıyoruz. Burada önemli kısım commit() komutu ile çalışan komutu onaylamanız aksi taktirde hiçbir hata almazsınız ancak kayıt commit olmadığı için veritabanında görmemiş olursunuz.
Şimdi uygulamayı çalıştıralım ve önce "/insert"
ardından "/select"
adresine gidelim
Her şey başarılı gözüküyor, bir sonraki yazıda görşmek üzere.
Flask Eğitimleri için aşağıdaki bağlantıyı ziyaret edebilirsiniz,
https://denizparlak.net/python-flask-egitim/