Python
Installation
Le PostgreSQL peut être intégré à Python à l'aide du module psycopg2. psycopg2 est un adaptateur de base de données PostgreSQL pour le langage de programmation Python. psycopg2 a été écrit dans le but d'être très petit et rapide, et stable comme un roc. Vous n'avez pas besoin d'installer ce module séparément car il est livré, par défaut, avec la version 2.5.x et suivantes de Python.
Si vous ne l'avez pas installé sur votre machine, vous pouvez utiliser la commande yum pour l'installer de la manière suivante :
$yum install python-psycopg2
Pour utiliser le module psycopg2, vous devez d'abord créer un objet Connexion qui représente la base de données et ensuite, en option, vous pouvez créer un objet Curseur qui vous aidera à exécuter toutes les instructions SQL.
Python psycopg2 module APIs
Voici les principales routines du module psycopg2, qui peuvent répondre à votre besoin de travailler avec la base de données PostgreSQL depuis votre programme Python. Si vous cherchez une application plus sophistiquée, vous pouvez consulter la documentation officielle du module Python psycopg2.
API & Description
psycopg2.connect(database="testdb", user="postgres", password="cohondob", host="127.0.0.1", port="5432")
- Cette API ouvre une connexion à la base de données PostgreSQL. Si la base de données est ouverte avec succès, elle renvoie un objet de connexion.connection.cursor()
- Cette routine crée un curseur qui sera utilisé tout au long de votre programmation de base de données avec Python.cursor.execute(sql [, optional parameters])
- Cette routine exécute une instruction SQL. L'instruction SQL peut être paramétrée (c'est-à-dire des placeholders au lieu de littéraux SQL). Le module psycopg2 supporte les placeholders en utilisant le signe %s. Par exemple :cursor.execute("insert into people values (%s, %s)", (who, age))
.cursor.executemany(sql, seq_of_parameters)
- Cette routine exécute une commande SQL contre toutes les séquences de paramètres ou les mappings trouvés dans la séquence sql.cursor.callproc(procname[, parameters])
- Cette routine exécute une procédure de base de données stockée avec le nom donné. La séquence de paramètres doit contenir une entrée pour chaque argument attendu par la procédure.cursor.rowcount
- Cet attribut en lecture seule renvoie le nombre total de lignes de la base de données qui ont été modifiées, insérées ou supprimées par le dernierexecute()
.connection.commit()
- Cette méthode permet de valider la transaction en cours. Si vous n'appelez pas cette méthode, tout ce que vous avez fait depuis le dernier appel àcommit()
n'est pas visible depuis les autres connexions à la base de données.connection.rollback()
- Cette méthode annule toutes les modifications apportées à la base de données depuis le dernier appel àcommit()
.connection.close()
- Notez que cette méthode n'appelle pas automatiquementcommit()
. Si vous fermez simplement votre connexion à la base de données sans appelercommit()
au préalable, vos modifications seront perdues !cursor.fetchone()
- Cette méthode récupère la ligne suivante d'un ensemble de résultats de requête, renvoyant une seule séquence, ou None lorsque plus aucune donnée n'est disponible.cursor.fetchmany([size=cursor.arraysize])
- Cette routine récupère le prochain ensemble de lignes d'un résultat de requête, en retournant une liste. Une liste vide est retournée lorsqu'il n'y a plus de lignes disponibles. La méthode essaie de récupérer autant de lignes qu'indiqué par le paramètre size.cursor.fetchall()
- Cette routine récupère toutes les lignes (restantes) du résultat d'une requête et renvoie une liste. Une liste vide est retournée si aucune ligne n'est disponible.
Connection à la base de données
Le code Python suivant montre comment se connecter à une base de données existante. Si la base de données n'existe pas, elle sera créée et finalement un objet de base de données sera retourné :
#!/usr/bin/python
import psycopg2
conn = psycopg2.connect(database="testdb", user="postgres", password="pass123", host="127.0.0.1", port="5432")
print("Opened database successfully")
Ici, vous pouvez également fournir la base de données testdb comme nom et si la base de données est ouverte avec succès, alors il donnera le message suivant :
Open database successfully
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !