Programmation Python/Bases de données
Python contient des modules pour bases de données, comme MySQL, PostgreSQL, SQLite, IBM Informix Dynamic Server et Berkeley DB.
Par exemple pour installer le premier :
MySQL
modifierL'exemple ci-dessous permet d'exécuter une requête SQL de sélection :
1 import MySQLdb
2 db = MySQLdb.connect("machine", "dbuser", "password", "dbname")
3 cursor = db.cursor()
4 query = """SELECT * FROM sampletable"""
5 lines = cursor.execute(query)
6 data = cursor.fetchall()
7 db.close()
- On ouvre l'accès aux fonctions du Module
MySQLdb
. - On tente d'établir une connexion à la base de données nommée (si cela ne fonctionne pas, essayer de pinger le nom de machine mentionné pour diagnostiquer un problème réseau).
- La ligne trois définit l'objet "cursor" qui va servir d'interface avec la base de données.
- On prépare ensuite la commande en langage SQL (ce qui pourrait aussi être défini en tout début du programme).
- On exécute cette requête dans la base.
- On formate les données brutes du résultat
- On clos la connexion.
Remarque : quand il y a beaucoup de lignes, il est préférable d'utiliser row = cursor.fetchone()
pour une meilleure visibilité :
1 import MySQLdb
2 db = MySQLdb.connect("machine", "dbuser", "password", "dbname")
3 cursor = db.cursor()
4 query = """SELECT * FROM sampletable"""
5 lines = cursor.execute(query)
6 while True:
7 row = cursor.fetchone()
8 if row == None: break
9 db.close()
Le résultat du fetchone()
est de type tuple.
Par ailleurs, la connexion à la base (en ligne 2) peut être enregistrée dans un fichier de configuration, celle-ci devient alors :
import MySQLdb
db = MySQLdb.connect(read_default_file="~/.my.cnf")
...
Postgres
modifierimport psycopg2
conn = psycopg2.connect("dbname=test")
cursor = conn.cursor()
cursor.execute("select * from test");
for i in cursor.next():
print i
conn.close()
Installation de Gadfly
modifierGadfly est un système de bases de données écrit en Python.
Depuis le site http://sourceforge.net/projects/gadfly, télécharger le paquetage gadfly-1.0.0.tar.gz. Il s'agit d'un fichier archive comprimé. Copiez ce fichier dans un répertoire temporaire.
Sous Windows
modifierDans un répertoire temporaire quelconque, décomprimez le fichier archive à l'aide d'un logiciel tel que Winzip.
Ouvrez une fenêtre DOS et entrez dans le sous-répertoire qui s'est créé automatiquement.
Lancez la commande : python setup.py install
C'est tout. Vous pouvez éventuellement améliorer les performances, en ajoutant l'opération suivante :
Dans le sous-répertoire qui s'est créé, ouvrez le sous-répertoire kjbuckets
, puis le sous-répertoire qui correspond à votre version de Python. Recopiez le fichier *.pyd qui s'y trouve dans le répertoire racine de votre installation de Python.
Lorsque tout est terminé, effacez le contenu de votre répertoire temporaire.
Sous Linux
modifierEn tant qu'administrateur (root), choisissez un répertoire temporaire quelconque et décomprimez-y le fichier archive à l'aide de l'utilitaire tar, qui fait certainement partie de votre distribution. Entrez simplement la commande : tar -xvzf gadfly-1.0.0.tar.gz
Entrez dans le sous-répertoire qui s'est créé automatiquement : cd gadfly-1.0.0
Lancez la commande : python setup.py install
C'est tout. Si votre système Linux comporte un compilateur C, vous pouvez améliorer les performances de Gadfly en recompilant la bibliothèque kjbuckets
.
Pour ce faire, entrez encore les deux commandes suivantes :
cd kjbuckets
python setup.py install
Lorsque tout est terminé, effacez tout le contenu du répertoire temporaire.
Liens externes
modifier- (anglais) documentation SQLite
- (anglais) Psycopg2 (module PostgreSQL)
- (anglais) module MySQL
- (anglais) module IBM Informix Dynamic Server