- Vaša košarica je trenutno prazna
Python: povezava z MySQL
V današnjem prispevku vam bomo pokazali, kako se z uporabo programskega jezika Python povežete s podatkovno bazo MySQL.
Python velja za enega najpogosteje uporabljenih programskih jezikov, saj je zaradi enostavne in elegantne sintakse idealen za programerje začetnike, medtem ko izkušeni programerji lahko uživajo v obsežnem seznamu razpoložljivih modulov in funkcij.
Na drugi strani pa imamo MySQL – robusten odprtokodni sistem za upravljanje relacijskih baz podatkov, ki temelji na strukturiranem poizvedbenem jeziku SQL (Structured Query Language). Uporablja se v številnih programih in spletnih strežnikih.
Kazalo
Namestitev modula: mysql-connector-python
Preden se lotite povezave z MySQL podatkovno bazo, si morate pripraviti Python virtualno okolje in poskrbeti za namestitev modula za povezavo mysql-connector-python
.
1. Z uporabo SSH se povežite na svoj paket gostovanja (navodila).
2. Ustvarite virtualno okolje z naslednjima ukazoma.
cd ~
virtualenv sqlenv
Ukaz virtualenv
ustvari virtualno okolje z imenom sqlenv
. Nadaljnji ukazi v postopku predpostavljajo, da je okolje poimenovano sqlenv
. Uporabite lahko poljubno ime virtualnega okolja, vendar v tem primeru ne pozabite nadomestiti vseh zapisov sqlenv
s svojim imenom okolja.
Če uporabljate nadomestno različico Pythona (npr. če ste za svoj račun ročno konfigurirali novejšo različico Pythona), lahko za navidezno okolje določite to različico. Primer: če želite namestiti uporabniško konfigurirano različico Pythona 3.8, uporabite naslednji ukaz:
virtualenv -p /home/username/bin/python3.8 sqlenv
Opomba: zapis username
v zgornjem ukazu nadomestite s svojim dejanskim uporabniškim imenom.
3. Vpišite spodnji ukaz in z njim aktivirajte virtualno okolje.
source sqlenv/bin/activate
Ukazna vrstica se zdaj prične z zapisom (sqlenv)
, ki ponazarja, da delate v Python virtualnem okolju. Vsi naslednji ukazi predpostavljajo, da delate v virtualnem okolju. Če se odjavite iz seje SSH (ali onemogočite navidezno okolje z deactivate
ukazom), poskrbite, da boste znova aktivirali navidezno okolje, preden sledite spodnjim korakom.
4. Za posodobitev pip
v virtualnem okolju uporabite naslednji ukaz.
pip install -U pip
Nato s spodnjim ukazom namestite paket mysql-connector-python
.
pip install mysql-connector-python
Tako, zdaj ste pripravljeni, da se z uporabo Pythona povežete z MySQL podatkovno bazo.
Povezava s podatkovno bazo MySQL
Za povezavo s podatkovno bazo MySQL uporabite spodnjo kodo. Pri tem pazite, da boste zapis:
uporabnisko_ime
zamenjali z uporabniškim imenom vaše podatkovne baze.geslo
zamenjali z geslom uporabnika podatkovne baze.podatkovna_baza
zamenjali z imenom podatkovne baze, s katero želite vzpostaviti povezavo.
import os
import sys
import mysql.connector
sys.path.insert(0, os.path.dirname(__file__))
def application(environ, start_response) :
start_response('200 OK', [('Content-Type', 'text/plain')])
hostname = 'localhost'
username = 'uporabnisko_ime'
password = 'geslo'
database = 'podatkovna_baza'
# Open database connection
MySQLconnection = mysql.connector.connect( host=hostname, user=username, passwd=password, db=database )
if MySQLconnection.is_connected():
# Prepare a cursor object using cursor() method
cursor = MySQLconnection.cursor()
# CREATE table Table with ID and Name attributes using execute() method
cursor.execute("CREATE TABLE `Table` (ID int NOT NULL, Name CHAR(20));")
# INSERT data in table Table
cursor.execute("INSERT INTO `Table` (`ID`, `Name`) VALUES ('1', 'NEOSERV'), ('2', 'Python'), ('3', 'App');")
else:
# Message of ERROR
message = 'Error connection to database!'
# Message of SUCCESS
message = 'TABLE Table WITH ATTRIBUTES ID AND Name WAS SUCCESSFULLY CREATED.\n RECORD:\n'
# SELECT data from table Table
cursor.execute("SELECT Name FROM `Table`;")
# SAVE data from SQL to variable
names = cursor.fetchall()
all_names = ''
for name in names:
all_names = all_names + str(name)
answer = '\n'.join([message,all_names])
# Close Cursor
cursor.close()
# Close database connection
MySQLconnection.close()
return [answer.encode()]
Ko imate objekt Connection
povezan s podatkovno bazo, lahko ustvarite objekt Cursor
. Ta vam omogoča uporabo metode execute()
, s katero lahko izvajate SQL stavke.
KOMENTARJI
Dodatna vprašanja?
KOMENTIRAJTE OBJAVO
Vaš komentar je bil uspešno oddan
Komentar bo viden na strani, ko ga naši moderatorji potrdijo.