SQLite-Python
Installer
SQLite3 peut être intégré à Python à l'aide du module sqlite3. Le module sqlite3 a été écrit par Gerhard Haring. Il fournit une interface SQL compatible avec la spécification DB-API 2.0 décrite dans PEP 249. Vous n'avez pas besoin d'installer ce module séparément car les versions Python 2.5.x et supérieures sont fournies avec ce module par défaut.
Pour utiliser le module sqlite3, vous devez d'abord créer un objet de connexion qui représente la base de données, puis vous pouvez éventuellement créer un objet curseur, qui vous aidera à exécuter toutes les instructions SQL.
API du module SQLite3 Python
Les programmes suivants sont des programmes de module SQLite3 importants qui peuvent répondre à vos besoins d'utilisation des bases de données SQLite dans les programmes Python. Si vous avez besoin de plus de détails, consultez la documentation officielle du module Python sqlite3.
Numéro de série | API et description |
---|---|
1 | sqlite3. connect (base de données [, timeout, autres arguments facultatifs]) Cette API ouvre un lien vers la base de données de fichiers de base de données SQLite. Vous pouvez utiliser ":memory:" pour ouvrir une connexion à la base de données dans la RAM plutôt que sur le disque. Si la base de données est ouverte avec succès, un objet de connexion est renvoyé. Lorsqu'une base de données est accédée par plusieurs connexions et que l'une d'elles modifie la base de données, la base de données SQLite est verrouillée jusqu'à ce que la transaction soit validée. Le paramètre timeout indique la durée pendant laquelle la connexion attend le verrouillage jusqu'à ce qu'une exception se produise et que la connexion soit déconnectée. Le paramètre de délai d'attente est par défaut de 5,0 (5 secondes). Si le nom de base de données donné nom de fichier n'existe pas, cet appel créera une base de données. Si vous ne souhaitez pas créer la base de données dans le répertoire courant, vous pouvez spécifier le nom du fichier avec un chemin, ce qui vous permettra de créer la base de données n'importe où. |
2 | connection.cursor([cursorClass]) Cette routine crée un curseur , sera utilisé dans la programmation de bases de données Python. Cette méthode accepte un seul paramètre facultatif CursorClass. Si ce paramètre est fourni, il doit s'agir d'une classe de curseur personnalisée qui étend sqlite3.Cursor. |
3 | cursor.execute(sql [, paramètres facultatifs]) Cette routine exécute un SQL déclaration. L'instruction SQL peut être paramétrée (c'est-à-dire en utilisant des espaces réservés au lieu du texte 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 (styles nommés). Par exemple : curseur.execute("insérer dans les valeurs des personnes (?, ?)", (qui, âge)) |
4 | connection.execute(sql [, paramètres facultatifs]) Cette routine est un raccourci vers la méthode ci-dessus fournie par l'objet curseur, qui est exécutée en appelant le curseur (curseur) crée un objet curseur intermédiaire, puis appelle la méthode d'exécution du curseur avec les paramètres donnés. |
5 | cursor.executemany(sql, seq_of_parameters) Cette routine mappe tous les paramètres ou mappages dans seq_of_parameters Exécuter un Commande SQL. |
6 | connection.executemany(sql[, settings]) Cette routine est un appel au méthode du curseur pour créer un raccourci vers l'objet curseur intermédiaire, puis appeler la méthode executemany du curseur avec les paramètres donnés. |
7 | cursor.executescript(sql_script) Une fois le script reçu, cette routine s'exécutera Plusieurs instructions SQL. Il exécute d'abord l'instruction COMMIT, puis exécute le script SQL transmis en paramètre. Toutes les instructions SQL doivent être séparées par des points-virgules (;). |
8 | connection.executescript(sql_script) Cette routine est un curseur d'appel) la méthode crée un raccourci vers l'objet curseur intermédiaire, puis appelle la méthode d'exécution du curseur avec les paramètres donnés. |
9 | connection.total_changes() Cette routine renvoie les valeurs qui ont été modifiées depuis l'ouverture de la connexion à la base de données, le nombre total de lignes de base de données insérées ou supprimées. |
10 | connection.commit() Cette méthode valide la transaction en cours. Si vous n'appelez pas cette méthode, toutes les actions entreprises depuis votre dernier appel à commit() ne seront pas visibles par les autres connexions à la base de données. |
11 | connection.rollback() Cette méthode revient en arrière depuis le dernier appel à commit( ) modifications apportées à la base de données depuis. |
12 | connection.close() Cette méthode ferme la connexion à la base de données. Notez que cela n'appelle pas automatiquement commit(). Si vous fermez la connexion à la base de données sans appeler la méthode commit() auparavant, toutes les modifications que vous avez apportées seront perdues ! |
13 | cursor.fetchone() Cette méthode obtient la ligne suivante dans l'ensemble de résultats de la requête et renvoie Une seule séquence Lorsqu'aucune donnée n'est disponible, Aucune n'est renvoyée. |
14 | cursor.fetchmany([size=cursor.arraysize]) Cette méthode obtient le requête Groupe de lignes suivant dans le jeu de résultats, renvoyé sous forme de liste. Lorsqu'aucune ligne n'est disponible, une liste vide est renvoyée. Cette méthode tente d'obtenir autant de lignes que spécifié par le paramètre size. |
15 | cursor.fetchall() Cette routine récupère tout (le reste) dans la requête ensemble de résultats de lignes, renvoyant une liste. Lorsqu'aucune ligne n'est disponible, une liste vide est renvoyée. |
Connexion à une 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 un objet base de données sera renvoyé.
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully";
Ici, vous pouvez également copier le nom de la base de données vers un nom spécifique :memory: qui créera une base de données dans la RAM. Maintenant, exécutons le programme ci-dessus pour créer notre base de données test.db dans le répertoire courant. Vous pouvez modifier le chemin selon vos besoins. Enregistrez le code ci-dessus dans le fichier sqlite.py et exécutez-le comme indiqué ci-dessous. Si la base de données est créée avec succès, un message comme celui ci-dessous s'affichera :
$chmod +x sqlite.py $./sqlite.py Open database successfully
Création de table
L'extrait de code Python suivant sera utilisé pour créer une table dans la base de données précédemment créée :
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully"; conn.execute('''CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);''') print "Table created successfully"; conn.close()
Lorsque le programme ci-dessus est exécuté, il crée la table COMPANY dans test.db et affiche le message ci-dessous :
Opened database successfully Table created successfully
Opération INSERT
ci-dessous Le programme Python montre comment créer un enregistrement dans la table COMPANY créée ci-dessus :
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully"; conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (1, 'Paul', 32, 'California', 20000.00 )"); conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (2, 'Allen', 25, 'Texas', 15000.00 )"); conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )"); conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )"); conn.commit() print "Records created successfully"; conn.close()
Lorsque le programme ci-dessus est exécuté, il crée l'enregistrement donné dans la table COMPANY et affiche les deux lignes suivantes :
Opened database successfully Records created successfully
Opération SELECT
Le programme Python suivant montre comment obtenir et afficher les enregistrements de la table COMPANY créée précédemment :
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully"; cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], "\n" print "Operation done successfully"; conn.close()
Lorsque le programme ci-dessus est exécuté, il produit ce qui suit résultats :
Opened database successfully ID = 1 NAME = Paul ADDRESS = California SALARY = 20000.0 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operation done successfully
Opération UPDATE
Le code Python suivant montre comment mettre à jour n'importe quel enregistrement à l'aide de l'instruction UPDATE, puis obtenir et afficher l'enregistrement mis à jour à partir de la table COMPANY :
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully"; conn.execute("UPDATE COMPANY set SALARY = 25000.00 where ID=1") conn.commit print "Total number of rows updated :", conn.total_changes cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], "\n" print "Operation done successfully"; conn.close()
L'exécution du programme ci-dessus Lorsque 🎜>
Opened database successfully Total number of rows updated : 1 ID = 1 NAME = Paul ADDRESS = California SALARY = 25000.0 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operation done successfullyLorsque le programme ci-dessus est exécuté, il produira les résultats suivants :