Остваривање конекције са MySQL SUBP у Flask апликацијама¶
Сада када си се упознао са основним операцијама над MySQL релационим базама података у алату phpMyAdmin, у овој лекцији, као и у лекцијама које следе научићеш како да програмираш веб-апликације које извршавају операције над базама података. Сви примери у овој теми користе базу података mysql_vezbanje и табелу korisnici које си креирао у претходној лекцији.
Пре него што имплементираш било коју операцију над базом података, потребно је да оствариш конекцију са MySQL СУБП. Тек када постоји активна конекција између веб-апликације и MySQL СУБП можеш да извршаваш SQL наредбе.
Наредни пример илуструје како се остварује конекција ка MySQL СУБП.
# Poglavlje5/19/main.py
from flask import Flask
from db import mydb
app = Flask(__name__)
@app.route("/")
def pocetna():
return f"""
<h1>Остварена је конекција ка бази података!</h1>
<p>{mydb.database}</p>
"""
# Poglavlje5/19/db.py
import mysql.connector
mydb = mysql.connector.connect(
host="localhost", user="root", password="", database="mysql_vezbanje"
)
Датотека db.py садржи код за повезивање на MySQL СУБП. Прво је потребно да увезеш модул mysql.connector који си инсталирао у претходној лекцији (назив библиотеке која садржи овај модул је mysql-connector-python). Повезивање на базу података се врши позивом функције connect из овог модула. Аргументи које ова функција очекује су следећи:
host: адреса сервера на којем је покренут MySQL СУБП. У случају навођења вредности „localhost”, реч је о локално покренутом СУБП.
user: име корисника које се користи за повезивање на СУБП. Све наредбе ће бити извршене са привилегијама које су додељене овом кориснику. Подразумевано, MySQL СУБП долази са предефинисаним корисником чије је име „root” и који има све привилегије.
password: лозинка корисника. За корисника „root” подразумевано је празна ниска.
database: назив базе података ка којој се остварује конекција. Све наредбе ће бити извршене над овом базом података. У нашим примерима користимо базу података „mysql_vezbanje”.
У пракси, ове вредности се не уписују директно у код, али за потребе наших апликација је прихватљиво.
Повратна вредност функције connect је објекат MySQLConnection који садржи разне информације о оствареној конекцији, као и разне методе за имплементирање операција над базом података. Све операције које наше веб-апликације буду извршавале над базом података користиће овај објекат.
Датотека main.py приказује како се може користити објекат MySQLConnection за добијање информације о бази података ка којој је остварена конекција. У овом примеру ову информацију приказујемо на почетној страници веб-апликације ради илустрације. У наредним лекцијама ћеш видети неке сложеније употребе објекта MySQLConnection.