Annonces

Dans ce chapitre, vous apprendrez comment utiliser SQLite en Python programmes.

Installation

SQLite3 peut être intégré avec Python en utilisant le module sqlite3, qui a été écrit par Gerhard Haring. Il fournit une interface SQL conforme à la spécification DB-API 2.0 décrite par PEP 249. Vous n’avez pas besoin d’installer ce module séparément car il est livré par défaut avec Python version 2.5.x-delà.,

Pour utiliser le module sqlite3, vous devez d’abord créer un objet de connexion qui représente la base de données, puis éventuellement vous pouvez créer un objet cursor, qui vous aidera à exécuter toutes les instructions SQL.

API de module Python sqlite3

Voici d’importantes routines de module sqlite3, qui peuvent suffire à votre besoin de travailler avec la base de données SQLite de votre programme Python. Si vous recherchez une application plus sophistiquée, vous pouvez consulter la documentation officielle du module Python sqlite3.

Sr Pas de., API & Description
1

sqlite3.connect(database )

cette API ouvre une connexion au fichier de base de données SQLite. Vous pouvez utiliser »: memory: « pour ouvrir une connexion de base de données à une base de données qui réside dans la RAM plutôt que sur le disque. Si la base de données est ouverte avec succès, elle renvoie un objet de connexion.

Lorsqu’une base de données est accessible par plusieurs connexions et que l’un des processus modifie la base de données, la base de données SQLite est verrouillée jusqu’à ce que cette transaction soit validée., Le paramètre timeout spécifie combien de temps la connexion doit attendre que le verrou disparaisse jusqu’à la levée d’une exception. La valeur par défaut pour le paramètre timeout est 5.0 (cinq secondes).

Si le nom de base de données donné n’existe pas, cet appel créera la base de données. Vous pouvez également spécifier filename avec le chemin requis si vous souhaitez créer une base de données ailleurs que dans le répertoire courant.

2

connexion.cursor ()

cette routine crée un curseur qui sera utilisé tout au long de la programmation de votre base de données avec Python., Cette méthode accepte un seul paramètre optionnel cursorClass. Si elle est fournie, il doit s’agir d’une classe de curseur personnalisée qui étend sqlite3.Curseur.

3

curseur.execute (sql)

cette routine exécute une instruction SQL. L’instruction SQL peut être paramétrée (c’est-à-dire des espaces réservés au lieu de littéraux SQL). Le module sqlite3 prend en charge deux types d’espaces réservés: les points d’interrogation et les espaces réservés nommés (style nommé).

Par exemple − curseur.execute (« insérer dans les valeurs de personnes (?, ?) », (qui, à l’âge))

4

connexion.,execute(sql )

Cette routine est un raccourci de la méthode execute ci-dessus fournie par l’objet cursor et elle crée un objet cursor intermédiaire en appelant la méthode cursor, puis appelle la méthode execute du curseur avec les paramètres donnés.

5

curseur.executemany (sql, seq_of_parameters)

Cette routine exécute une commande SQL sur toutes les séquences de paramètres ou mappages trouvés dans la séquence sql.

6

connexion.,executemany (sql)

cette routine est un raccourci qui crée un objet curseur intermédiaire en appelant la méthode cursor, puis appelle le curseur.s executemany méthode avec les paramètres donnés.

7

curseur.executescript (sql_script)

Cette routine exécute plusieurs instructions SQL à la fois fournies sous forme de script. Il émet d’abord une instruction COMMIT, puis exécute le script SQL qu’il obtient en tant que paramètre. Toutes les instructions SQL doivent être séparées par un point-virgule (;).

8

connexion.,executescript (sql_script)

cette routine est un raccourci qui crée un objet curseur intermédiaire en appelant la méthode cursor, puis appelle la méthode executescript du curseur avec les paramètres donnés.

9

connexion.total_changes ()

Cette routine renvoie le nombre total de lignes de base de données qui ont été modifiées, insérées ou supprimées depuis l’ouverture de la connexion à la base de données.

10

connexion.commit()

Cette méthode valide 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.

11

connexion.rollback()

Cette méthode annule toutes les modifications apportées à la base de données depuis le dernier appel de commit().

12

connexion.close ()

cette méthode ferme la connexion à la base de données. Notez que cela n’appelle pas automatiquement commit(). Si vous fermez simplement votre connexion à la base de données sans appeler commit() au préalable, vos modifications seront perdues!

13

curseur.,fetchone ()

cette méthode récupère la ligne suivante d’un jeu de résultats de requête, renvoyant une seule séquence, ou None lorsque plus aucune donnée n’est disponible.

14

curseur.fetchmany ()

cette routine récupère le prochain ensemble de lignes d’un résultat de requête, renvoyant une liste. Une liste vide est renvoyée lorsque plus aucune ligne n’est disponible. La méthode essaie de récupérer autant de lignes qu’indiqué par le paramètre size.

15

curseur.fetchall ()

Cette routine récupère toutes les lignes (restantes) d’un résultat de requête, renvoyant une liste., Une liste vide est renvoyée lorsqu’aucune ligne n’est disponible.

connexion À la Base de données

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 enfin un objet de base de données sera renvoyé.

#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully";

ici, vous pouvez également fournir le nom de base de données comme nom spécial :mémoire: pour créer une base de données dans la RAM. Maintenant, nous allons exécuter le programme ci-dessus pour créer notre test de base de données.db dans le répertoire courant. Vous pouvez changer votre chemin selon vos besoins., Conservez le code ci-dessus sqlite.py fichier et exécutez-le comme indiqué ci-dessous. Si la base de données est créée avec succès, elle affichera le message suivant.

$chmod +x sqlite.py$./sqlite.pyOpen database successfully

Créer une Table

Python ci-programme sera utilisé pour créer une table dans la base de données créée précédemment.

lorsque le programme ci-dessus est exécuté, il créera la table COMPANY dans votre test.,db et il affichera les messages suivants −

Opened database successfullyTable created successfully

opération D’insertion

Le programme Python suivant montre comment créer des enregistrements dans la table D’entreprise créée dans l’exemple ci-dessus.

lorsque le programme ci −dessus est exécuté, il créera les enregistrements donnés dans la table COMPANY et affichera les deux lignes suivantes –

Opened database successfullyRecords created successfully

SELECT Operation

Le programme Python suivant montre comment récupérer et afficher les enregistrements de la table COMPANY créée dans l’exemple ci-dessus.,

lorsque le programme ci-dessus est exécuté, il produira le résultat suivant.

opération de mise à jour

le code Python suivant montre comment utiliser L’instruction UPDATE pour mettre à jour n’importe quel enregistrement, puis récupérer et afficher les enregistrements mis à jour à partir de la table COMPANY.

lorsque le programme ci-dessus est exécuté, il produira le résultat suivant.

Opened database successfullyTotal number of rows updated : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 25000.0ID = 2NAME = AllenADDRESS = TexasSALARY = 15000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully

opération de suppression

le code Python suivant montre comment utiliser L’instruction DELETE pour supprimer tout enregistrement, puis récupérer et afficher les enregistrements restants de la table COMPANY.,

When the above program is executed, it will produce the following result.

Opened database successfullyTotal number of rows deleted : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 20000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully
Advertisements

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *