Connettersi a MySQL con Python
Scritto da Jacopo Nuzzi
(http://www.jacoz.net)
il 06 agosto 2008
Questo semplice codice permette di mostrare i risultati di una tabella.
Chiaramente questo è solo un esempio ed infatti è estramamente semplice.
Vediamo ora di comprendere le poche righe elencate sopra:
In caso ci possa essere la necessità di ottenere il numero di record basterà usare il seguente comando:
Per limitare la selezione dei record al posto della funzione fetchall() basterà usare la funzione fetchmany(), ecco unb esempio pratico:
Ciao,
in questo articolo vedremo brevemente come connettersi ad un database MySQL con python.
Per utilizzare MySQL con python è necessario avere installato il modulo MySQLdb.
Per verificare la corretta installazione della libreria o per leggere le istruzioni per installarla è consigliata la lettura dell'articolo: Installare la libreria MySQLdb.
Per prima cosa creiamo un nuovo file e chiamiamolo mysql-test.py, ecco il codice da inserire:
PYTHON
#!/usr/bin/env python import MySQLdb db = MySQLdb.connect(host='', user='', passwd='', db='') cursor = db.cursor() cursor.execute('SELECT * FROM tabella') results = cursor.fetchall() for res in results: print '<li>' + res[0]
Questo semplice codice permette di mostrare i risultati di una tabella.
Chiaramente questo è solo un esempio ed infatti è estramamente semplice.
Vediamo ora di comprendere le poche righe elencate sopra:
- Alla prima riga troviamo il percorso per far riconoscere al server il tipo di programma che stiamo eseguendo, in questo caso python
- Dopodichè troviamo l'inclusione della libreria MySQLdb
- La riga sotto è riportata la stringa di connessione al database mysql, i campi (host, user, passwd e db) sono stati lasciati volutamente vuoti e sono ovviamente da riempire con i dati di connessione.
Al momento della connessione potrebbe esserci un errore quindi basterà aggiungere ai vari campi questo: unix_socket='/tmp/mysql.sock' - Sotto troviamo il cursore che ci servirà per ricavare i vari dati dal nostro database
- Poi abbiamo l'esecuzione della query Sql (da modificare in base alle proprie esigenze)
- Infine abbiamo un semplice ciclo for che ci serve per mostrare i vari records ottenuti
In caso ci possa essere la necessità di ottenere il numero di record basterà usare il seguente comando:
PYTHON
# ... quì il codice precedente! numrows = int(cursor.rowcount)
Per limitare la selezione dei record al posto della funzione fetchall() basterà usare la funzione fetchmany(), ecco unb esempio pratico:
PYTHON
results = cursor.fetchmany(5)
