Práca s databázou
Python pre prácu s databázou používa modul DB-API. Modul je navrhnutý tak, aby slúžil pre prácu s ľubovoľným typom databázy.
Pre MySQL DP-API poskytuje databázové pripojenie pomocou MySQLdb, ktorý je potrebné importovať.
Pripojenie k databáze
Samotné pripojenie využíva metódu connect.
conn = MySQLdb.connect (host = "localhost", user = "user", passwd = "heslo", db = "meno_databazy")
Pripojenie k databáze je možné taktiež ošetriť chybovým hlásením, ktoré nás upozorní v prípade neúspešného spojenie.
conn = MySQLdb.connect (host = "localhost", user = "user", passwd = "heslo", db = "meno_databazy")
except MySQLdb.Error, e: # v prípade nepripojenia k databáze dôjde k chybovému hláseniu
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit (1)
cursor.execute
Po úspešnom pripojení sa využíva metóda cursor, ktorá vytvára objektový ukazovateľ pre spracovanie požiadavky.
Metóda execute je metódou objektového ukazovateľa. Zabezpečí nám odoslanie požiadavky na server.
cursor.execute("SELECT * FROM pouzivatelia") # výber všetkých údajov z tabuľky pouzivatelia
Príklad:
cursor.execute("SELECT meno, priezvisko FROM pouzivatelia a_regs")
while (1):
row = cursor.fetchone()# kým platí podmienka, metóda fetchone() uloží do premennej row údaje, ktoré sa majú vypísať
if row == None:
break
print row[0], row[1], “<br />“ # výpis údajov
Za predpokladu, že databáza obsahuje nasledujúce údaje:
| meno | priezvisko |
|---|---|
| Fero | Starý |
| Anton | Strelec |
výpis predchádzajúceho príkladu bude takýto:
Fero Starý
Anton Strelec
cursor.execute ("INSERT INTO pouzivatelia (meno, priezvisko) VALUES ('adam', 'šangala')") # vloží dané údaje do databázy
cursor.rowcount
Metóda rowcount nám vypíše počet záznamov v danej databáze.
print "Počet záznamov(riadkov) v databáze : %d" % cursor.rowcount

