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