Python versione Bignami - Collegarsi a un database SQL
Connessione
# MySQL import MySQLdb db = MySQLdb.connect(host="..", user="..", passwd="..", db="..")
Uso
# Versione coi generatori c = db.cursor() c.execute("select * from pseudoana") print c.rowcount, "risultati" for dati in c: print dati # Scarica tutto subito c = db.cursor() c.execute("select * from pseudoana") tuttiidati = c.fetchall() # Inserimento con le transazioni try: # Il modo di passare i parametri cambia da database a database c.execute("insert into pseudoana values (%d, %f, %f, %s)", \ (id, lat, lon, ident) ) except: db.rollback() else: db.commit()
Passare parametri alle query
Dipende dal modulo. Ogni modulo ha una costante paramstyle
che documenta
come funziona con uno tra questi valori:
qmark
:SELECT ... WHERE name=?
numeric
:SELECT ... WHERE name=:1
named
:SELECT ... WHERE name=:name
format
:SELECT ... WHERE name=%s
pyformat
:SELECT ... WHERE name=%(name)s