0% ont trouvé ce document utile (0 vote)
34 vues7 pages

SQLite3 Avec Python

Transféré par

Roch Corneille NGOUBOU
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
34 vues7 pages

SQLite3 Avec Python

Transféré par

Roch Corneille NGOUBOU
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

SQLite3 avec Python

SQLite est le système de base de données le plus couramment utilisé dans le


monde. Il offre la possibilité de mettre en place une base de données basée sur
SQL pour une intégration directe à toutes sortes d’applications. Python prend
également en charge SQLite3, avec son propre module.

Sommaire
o Utiliser SQLite3 avec Python
o Créer sa propre base de données : instructions étape par étape
o Extraire des données
o Modifier des données existantes
o Utiliser des caractères génériques
o Fermer la connexion à la base de données

Utiliser SQLite3 avec Python


Vous pouvez intégrer SQLite à Python sous la forme d’un module. Pour
travailler de manière efficace avec ce système de base de données et Python, il
est conseillé d’avoir de l’expérience avec SQL comme avec Python. Dans ces
conditions, il est effectivement plus facile de mettre en place la base de données,
puis de l’utiliser.

Créer sa propre base de données : instructions étape par étape


Quelques étapes suffisent pour mettre en place votre propre base de données
SQLite3 avec Python. Une fois l’installation terminée, vous pouvez
communiquer avec votre base de données par l’intermédiaire des commandes
SQL que vous avez l’habitude d’utiliser.
Étape 1 : importer SQLite3 dans Python

Pour accéder aux fonctions propres à SQLite3 avec Python, vous devez
commencer par importer le module correspondant :

Import sqlite3

Étape 2 : créer la base de données

Dans cette étape, vous devez créer votre propre base de données à l’aide de la
fonction « connect() » de SQLite. Celle-ci renvoie alors un objet « Connection
», par l’intermédiaire duquel vous pouvez communiquer avec votre base de
données. La fonction « connect » permet d’établir une connexion avec une base
de données (ici nommée « test »). Pour l’appeler, utilisez le code suivant :

connection = sqlite3.connect("test.db")

Le paramètre de transfert de la fonction prend la forme d’un fichier de base de


données. Si vous n’avez encore créé aucun fichier de base de données du nom
de « test.db » et que vous appelez la fonction « connect », la création de ce
fichier sera automatique.

Étape 3 : vérifier la bonne création de la base de données

Une fois arrivé là et si vous le souhaitez, vous pouvez vérifier la bonne création
de votre base de données SQLite3. Pour ce faire, appelez la fonction «
total_changes » sur l’objet « Connection » que vous venez de créer. Celle-ci
vous indique alors le nombre de lignes de tableau modifiées dans votre base de
données relationnelle depuis la connexion à cette dernière :
print(connection.total_changes)

Dans notre cas, la fonction renvoie normalement la valeur « 0 », car nous


n’avons encore utilisé aucune commande SQL (notre base de données est donc
vide). Toutefois, si vous avez déjà enregistré des données dans votre base, la
valeur renvoyée par la fonction peut tout à fait être différente.

Étape 4 : structurer votre base de données

Pour ajouter des données à votre base SQLite3 avec Python, vous devez
commencer par créer le tableau dans lequel vous souhaitez enregistrer vos
données, comme souvent avec les bases de données relationnelles.

Pour ce faire, créez d’abord un objet « Cursor » en utilisant la fonction « cursor


» prédéfinie dans SQLite3 avec Python. Celui-ci vous permet alors d’envoyer
des commandes SQL à votre base de données. Vous trouverez ci-dessous le
code dont vous avez besoin pour y parvenir :

cursor = connection.cursor()

Ensuite, utilisez la fonction « execute » du module SQLite3 pour envoyer les


commandes SQL correspondantes à votre base de données. La fonction reçoit
alors des commandes, qui respectent la syntaxe SQL habituelle et prennent la
forme de chaînes de caractères. Ainsi, pour créer une base de données « example
» et des colonnes « id », « name » et « age », le code Python à utiliser se
présente comme suit :

cursor.execute("CREATE TABLE IF NOT EXISTS example (id


INTEGER, name TEXT, age INTEGER)")
Étape 5 : ajouter des données

Vous avez besoin de la même syntaxe pour créer un tableau que pour ajouter des
données à celui-ci :

cursor.execute("INSERT INTO example VALUES (1, alice, 20)")


cursor.execute("INSERT INTO example VALUES (2, ’bob’, 30)")
cursor.execute("INSERT INTO example VALUES (3, ’eve’, 40)")

Le code ci-dessus vous a permis d’ajouter trois entrées au tableau de votre base
de données « example ».

Pour enregistrer les modifications dans votre base de données, utilisez la


fonction « commit » :

connection.commit()

Extraire des données


Bien sûr, SQLite3 et Python vous permettent d’extraire et d’afficher des données
de bases de données existantes, et pas seulement de créer vos propres bases de
données. Pour ce faire, vous devez commencer par vous connecter à la base de
données de votre choix. Comme nous l’expliquons dans les instructions étape
par étape ci-dessus, vous devez créer les objets « Connection » et « Cursor »
correspondants. Ensuite, formulez votre requête SQL, envoyez-la à votre base
de données avec la fonction « execute » et affichez toutes les lignes ainsi
obtenues à l’aide de la fonction « fetchall » :
cursor.execute("SELECT * FROM example")
rows = cursor.fetchall()
for row in rows:
print(row)

La fonction « fetchall » renvoie une liste de lignes correspondant à votre


requête. Si vous souhaitez afficher toutes ces lignes sur la console, vous pouvez
utiliser une boucle for en Python en l’associant à une déclaration « print ».

Modifier des données existantes


SQLite3 prenant en charge l’ensemble de commandes SQL, vous pouvez
aussi modifier ou supprimer les données de votre base de données. Pour ce faire,
il vous suffit d’envoyer les commandes SQL correspondantes à votre base de
données. Toutefois, pour y parvenir, vous devez également commencer par
établir une connexion avec votre base de données et par créer des objets «
Connection » et « Cursor ».

Supprimer des données

Utilisez le code suivant pour supprimer la ligne qui correspond à l’« ID 1 ».

cursor.execute("DELETE FROM example WHERE id = 1")

Modifier les données

À l’aide de la commande suivante, vous pouvez modifier l’âge dans la ligne qui
correspond à l’« ID 2 ».

cursor.execute("UPDATE example SET age = 31 WHERE id = 2")


Utiliser des caractères génériques
N’utilisez jamais les opérations liées aux chaînes Python pour formuler des
requêtes SQL dynamiques dans votre programme Python. Celles-ci risquent
d’être exploitées par des pirates informatiques dans le but d’attaquer votre
programme par l’intermédiaire d’injections SQL. Avec Python, il convient
de faire appel au caractère générique SQL « ? » et de l’utiliser dans le cadre
de votre requête SQL envoyée avec « execute » plutôt que de choisir une valeur
spécifique. En tant que deuxième paramètre, vous pouvez alors décider de
transmettre un n-uplet en Python à la fonction « execute », de manière à
remplacer les points d’interrogation.

Les requêtes suivantes sont donc équivalentes :

# Direkte SQL-Anfrage
cursor.execute("UPDATE example SET age = 31 WHERE id = 2")
# SQL-Anfrage mit Platzhaltern
age_var = 31
id_var = 2
cursor.execute("UPDATE example SET age = ? WHERE id = ?", (age_var,
id_var))

Attention : dans la requête SQL, les points d’interrogation sont remplacés dans
l’ordre dans lequel les variables sont renseignées dans le n-uplet.

Fermer la connexion à la base de données


Une fois toutes les opérations effectuées sur votre base de données, n’oubliez
pas de fermer la connexion à cette dernière. Le module SQLite3 avec Python
propose ici aussi une fonction Python correspondante, que vous pouvez appeler
en passant directement par votre object « Connection ».
connection.close()

Vous aimerez peut-être aussi