SQLite

Comment accéder à SQLite à partir de Python

Comment accéder à SQLite à partir de Python
Python est un langage de programmation populaire et robuste riche en fonctionnalités qui le rendent utilisable dans un large éventail de cas tels que la science des données, la mise en réseau, l'automatisation informatique, les tests d'intrusion et bien d'autres. Il a également une syntaxe simple qui permet aux développeurs qui connaissent d'autres langages de programmation de s'adapter facilement à l'utilisation de Python.Les données sont partout et un large éventail d'applications logicielles interagissent avec les données à l'aide d'un système de gestion de base de données. SQLite est l'un des systèmes de gestion de base de données les plus populaires en Python.

SQLite est un moteur de base de données simple, puissant, open source et relationnel qui prend en charge les grandes applications logicielles et les systèmes embarqués. SQLite est autonome et nécessite une configuration minimale, ce qui le rend très facile à configurer et à exécuter avec un minimum de temps. Par défaut, Python est livré avec un module SQLite (sqlite3), un module très intuitif pour travailler avec les bases de données SQLite en Python.

Dans ce tutoriel, nous verrons comment utiliser Python pour travailler avec des bases de données SQLite. De l'établissement d'une connexion à la création de bases de données, à la lecture de bases de données, à la mise à jour et à la suppression de bases de données.

Commençons par installer SQLite :

Installation de SQLite et Python

Selon votre distribution Linux, vous pouvez télécharger l'archive SQLite depuis https://www.sqlite.organisation/téléchargement.html ou utilisez le gestionnaire de paquets.

Pour l'installer sur Debian :

sudo apt-get mise à jour
sudo apt-get install sqlite -y

Ensuite, vous devriez avoir la dernière version de Python3 installée. Python devrait déjà être pré-installé dans votre distribution par défaut.

Shell SQLite

La méthode par défaut pour interagir avec les bases de données SQLite est d'utiliser le shell. Le shell vous permet d'exécuter des commandes SQL en ligne ou une collection pour exécuter des fonctions sur des bases de données.

Pour lancer le shell SQLite, utilisez la commande :

$ sqlite

SQLite version 2.8.17 Entrez ".aide" pour les instructions

sqlite>

Cela devrait lancer le shell SQLite avec une invite vous permettant d'entrer des commandes. Commencez par taper la commande .aide pour afficher l'aide du shell.

sqlite> .aider
.bases de données             Répertorier les noms et les fichiers des bases de données jointes
.décharger ?TABLEAU?…       Vider la base de données au format texte
.echo ON|OFF           Activer ou désactiver l'écho de la commande
.exit                  Quitter ce programme
.expliquer ON|OFF        Activer ou désactiver le mode de sortie adapté à EXPLAIN.
.en-tête(s) ON|OFF      Activer ou désactiver l'affichage des en-têtes
.aide                  Afficher ce message
.index TABLE         Afficher les noms de tous les index sur TABLE
.mode MODE             Réglez le mode sur l'un des "ligne(s)", "colonne(s)",
"insérer", "liste" ou "html"
----------------------------------------------------------------------

Pour quitter le shell SQLite, utilisez le .quitter la commande.

sqlite> .quitter

Il existe d'autres fonctions et opérations que vous pouvez utiliser dans le shell SQLite. Par exemple, pour afficher toutes les bases de données, vous pouvez utiliser le .commande de base de données.

Je vous recommande fortement d'expérimenter le shell SQLite et de vous familiariser car cela vous permettra de comprendre comment utiliser le module SQLite3 en Python.

Connexion à une base de données

Utilisons maintenant les modules Python et SQLite3 pour interagir avec les bases de données SQLite. Il est bon de noter qu'il existe d'autres modules Python que vous pouvez utiliser pour interagir avec SQLite. Cependant, SQLite3 est simple et est fourni avec Python.

Considérez le script ci-dessous pour vous connecter à la base de données SQLite.

importer sqlite3 à partir de sqlite3 erreur d'importation
def connect_db(db_path):
connexion = Aucun essayer :
connexion = sqlite3.connecter(db_path)
print("Base de données connectée avec succès")
sauf Erreur en tant que e :
print(f"Une erreur s'est produite : e")
connexion de retour
connect_db("/home/user/Desktop/demo.sqlite")

On commence par importer les modules SQLite et Error.
À la ligne 3, nous créons une fonction connect_db() qui prend le chemin de la base de données comme argument.
La partie suivante comprend un bloc try/error. La première partie prend le chemin de la base de données comme argument et établit une connexion. Notez, dans SQLite, si la base de données spécifiée n'existe pas, elle est créée automatiquement.
Le bloc d'erreur essaie d'intercepter les exceptions et les imprime à l'utilisateur.
Dans la dernière ligne, nous appelons la fonction connect_db et passons le chemin vers la base de données que nous voulons utiliser ou créer.

REMARQUE: si vous souhaitez créer une base de données mémoire au lieu d'un disque, vous pouvez spécifier :memory dans l'obj de connexion.

sqlite3.connecter(“:mémoire”)

SQLite Créer une table

Dans SQLite, nous pouvons utiliser le shell SQL pour créer des tables à l'aide de la requête CREATE TABLE. La syntaxe générale est la suivante :

CREATE TABLE nom_base_de_données.nom de la table (
nom_colonne type de données PRIMARY KEY(colonne(s),
type de données nom_colonne2,
… type de données nom_colonne,
);

Je ne vais pas me plonger dans la création de tables à l'aide du shell SQLite car notre objectif principal est Python. Considérez la documentation SQL Lite de la ressource ci-dessous pour en savoir plus. Maintenant, pour utiliser les modules Python et sqlite3 pour créer des tables de base de données, nous devons utiliser l'objet curseur et exécuter les fonctions des requêtes SQL. Considérez le code ci-dessous :

importer sqlite3 à partir de sqlite3 erreur d'importation
def connect_db(db_path):
connexion = aucune
essayer:
connexion = sqlite3.connecter(db_path)
print("Base de données connectée avec succès")
sauf Erreur en tant que e :
print(f"Une erreur s'est produite : e")
return connection def run_query(connection, sql_query):
curseur = connexion.le curseur()
essayer:
le curseur.exécuter (requête_sql)
lien.s'engager()
print("La requête SQL s'exécute avec succès… [OK]")
sauf Erreur en tant que e :
print(f" Échec de la requête… e")
requête = """
CREATE TABLE IF NOT EXISTS affiche (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nom TEXTE NON NULL,
année INTGER,
genre TEXTE,
pays TEXTE
);
"""
run_query(connection=connect_db("/home/user/Desktop/sql.sqlite"), sql_query=query)

Discutons maintenant de ce que fait le code ci-dessus - trouvez la première fonction expliquée ci-dessus (veuillez vous référer). Dans la deuxième fonction, create, on passe la connexion et la requête à exécuter comme paramètres. Les lignes suivantes créent un objet curseur que nous utiliserons pour appeler la méthode execute. Comme mentionné ci-dessus, les lignes suivantes appellent l'objet du curseur pour exécuter la méthode et appellent la requête en tant que paramètre. Le bloc imprime également un message sur l'exécution réussie de la requête. Une fois la requête exécutée avec succès, nous demandons à SQLite d'utiliser la méthode commit pour enregistrer les modifications apportées à la base de données. Le bloc except intercepte les exceptions et imprime le message d'erreur à l'utilisateur. Enfin, nous créons la requête à exécuter en utilisant une syntaxe SQLite simple.

SQLite Insérer des enregistrements

Pour ajouter des données à la base de données SQLite, nous pouvons plonger dans la fonction run_query() que nous avons utilisée pour créer car elle peut exécuter n'importe quelle requête SQLite que nous lui transmettons. Cependant, nous utilisons la requête INSERT INTO pour ajouter des données à la table.

Considérez le bloc ci-dessous :

add_shows = """
INSÉRER DANS
émissions (identifiant, nom, année, genre, pays)
VALEURS
("101", "Brooklyn Nine-Nine", "2013", "comédie", "USA"),
("201", "Star-Trek : Découverte", "2017", "Sci-Fi", "USA"),
("301", "Star-Trek : Picard", "2020", "Sci-Fi", "USA");
""" run_query(connection=connect_db("/home/user/Desktop/sql.sqlite"), sql_query=add_shows)

Nous devons maintenant appeler la fonction run_query et ajouter le pass à la requête add_shows pour insérer des données dans la table shows. Assurez-vous que la table dans laquelle vous insérez des données existe pour éviter d'obtenir une erreur.

SQLite Supprimer les enregistrements

Vous pouvez également utiliser la fonction run_query() pour supprimer des enregistrements de la table spécifiée. Tout ce dont vous avez besoin est de définir la requête comme DELETE FROM.

Considérez la sous-requête suivante :

remove = "DELETE FROM affiche WHERE name = 'Brooklyn Nine-Nine'" run_query(connection=connect_db("/home/user/Deskop/sql.sqlite"), sql_query=supprimer)

La requête ci-dessus supprime l'émission « Brooklyn Nine-Nine » de la table des émissions.

Conclusion

Ce tutoriel vous a appris à utiliser Python pour accéder et interagir avec les bases de données SQLite. D'après ce que vous avez appris de ce didacticiel, vous pouvez désormais créer des fonctions, vous connecter à des bases de données SQLite, créer des tables, insérer des données et les supprimer. Bien qu'il s'agisse d'un guide de démarrage pour travailler avec SQLite en Python, il devrait vous permettre de commencer à apprendre d'autres technologies telles que SQLAlchemy et autres.

Le bouton de clic gauche de la souris ne fonctionne pas sous Windows 10
Si vous utilisez une souris dédiée avec votre ordinateur portable ou de bureau mais que le le clic gauche de la souris ne fonctionne pas sur Windows 1...
Le curseur saute ou se déplace de manière aléatoire lors de la saisie dans Windows 10
Si vous constatez que le curseur de votre souris saute ou se déplace tout seul, automatiquement, au hasard lors de la saisie sur un ordinateur portabl...
Comment inverser le sens de défilement de la souris et des pavés tactiles dans Windows 10
Souris et Pavé tactiles rendent non seulement l'informatique facile, mais plus efficace et moins chronophage. Nous ne pouvons pas imaginer une vie san...