Práca s databázou

Porovnanie :: PHP | Perl

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)

Porovnávacie príklady

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

Porovnávacie príklady

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

Porovnávacie príklady

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

Porovnávacie príklady