Košarica (0)
  • Vaša košarica je trenutno prazna

NEOSERV BLOG

Novice in nasveti iz sveta domen, gostovanja, SSL certifikatov, spletnih strani, spletnih trgovin in ostalih področij spleta.

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()]

Python MySQL - povezava uspešno vzpostavljena

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

KOMENTIRAJTE OBJAVO

(obvezno)
(obvezno, e-poštni naslov bo skrit)
(neobvezno)
Varnostno vprašanje, ki potrdi, da ste resnična oseba.