Comment créer une application avec Python et sqlite3?

5 minute de lecture
Comment créer une application avec Python et sqlite3?
Photo de Douglas Lopes / Unsplash

Que ce que Python?

Python est un langage de programmation qui peut être utilisé pour créer des applications, des jeux et des sites Web. C'est l'un des langages de programmation les plus populaires aujourd'hui.

Que ce que Python? Pourquoi l'apprendre?

Que ce que Sqlite3?

Sqlite3 est une bibliothèque logicielle qui fournit un moteur de base de données SQL intégrable. Il a été écrit à l'origine par Andrew Gierth et publié pour la première fois en 2000 en tant que fork de la bibliothèque SQLite d'origine.

Le nom "SQLite" vient de Structured Query Language, qui est le langage utilisé pour créer et exécuter des requêtes sur une base de données SQL.

Ce que nous allons créer?

A la fin du tutoriel, vous aurez une application fonctionnelle avec Python et sqlite3.

Pré-requis?

  • Python, rendez-vous ici pour télécharger Python sur votre système
  • Ordinateur
  • Editeur de code

Application de gestion de contacte

En tant que développeur, une enterprise vous a contacté pour un besoin de création d’une application qui permet de gérer sa liste de contacte.

L’application doit permettre d’enregistrer le nom complet, le mail et le téléphone d'une personne. Voici la structure de notre table.

Pour commencer, je vous conseil de créer un dossier vide sur votre machine

Créer un fichier nommé app.py et ajouter ce code:

# app.py
print("Application de Gestion de contacte avec Python et Sqlite3")

Si vous utilisez VS Code, faites un clic droit en suite cliquez sur "Run Python file in terminal", sinon tapez sur le terminal  python app.py . Vous devez avoir exactement le meme résultat:

Rejoignez notre prochaine rentrée et devenez autonome

Étape 1: Création d'une connexion à la base de données SQLite

Pour utiliser sqlite3 avec Python, vous n'installez rien, il suffit juste de l'importer. Nous allons créer une connection ainsi qu'un curseur.

# app.py
import sqlite3

print("Application de Gestion de contacte avec Python et Sqlite3")

with sqlite3.connect("contact.db") as connection:
    cursor = connection.cursor()

Étape 2: Création de la table

Pour créer la table, nous avons écrire des commandes SQL traditionnelles, CREATE TABLE. Ajoutez ce code et exécutez votre application.

# app.py
import sqlite3

print("Application de Gestion de contacte avec Python et Sqlite3")

with sqlite3.connect("contact.db") as connection:
    cursor = connection.cursor()

cursor.execute(
    "CREATE TABLE contacte (id INTEGER PRIMARY KEY AUTOINCREMENT,nomComplet TEXT, email TEXT, telephone TEXT)")

connection.commit()

Regardez au niveau de votre dossier, ce code crée automatiquement un ficher contact.db. Ouvrez le fichier avec DB Browser.

Étape 3: Ajouter un contacte.

Nous allons créer un contacte, si vous regardez bien le code, nous n'avons pas renseignée l'id, c'est SQL qui la crée automatiquement. Rappelez vous du mot "AUTOINCREMENT"?

# app.py
import sqlite3

print("Application de Gestion de contacte avec Python et Sqlite3")

with sqlite3.connect("contact.db") as connection:
    cursor = connection.cursor()

# cursor.execute(
#     "CREATE TABLE contacte (id INTEGER PRIMARY KEY AUTOINCREMENT,nomComplet TEXT, email TEXT, telephone TEXT)")

# connection.commit()

cursor.execute(
    "INSERT INTO contacte(nomComplet, email, telephone) VALUES('Ousseynou DIOP', '[email protected]', '763887835')")

connection.commit()

Étape 4: Afficher la liste des contactes.

La fonction fetchall() renvoi les données sous forme de tableau(list en Python).

# app.py
import sqlite3

print("Application de Gestion de contacte avec Python et Sqlite3")

with sqlite3.connect("contact.db") as connection:
    cursor = connection.cursor()

rows = cursor.execute("SELECT * FROM contacte").fetchall()
print(rows)

Résultat:

❯ python app.py
Application de Gestion de contacte avec Python et Sqlite3
[(1, 'Ousseynou DIOP', '[email protected]', '763887835'), (2, 'Bamba Sall', '[email protected]', '763887825'), (3, 'Awa DIOP', '[email protected]', '763882835')]

Étape 5: Afficher un contacte.

Pour afficher un contacte, nous pouvons utiliser son numéro de téléphone, son mail ou son id. Dans ce tutoriel, je vais utiliser le numéro de téléphone.

# app.py
import sqlite3

print("Application de Gestion de contacte avec Python et Sqlite3")

with sqlite3.connect("contact.db") as connection:
    cursor = connection.cursor()

row = cursor.execute(
    "SELECT * FROM contacte WHERE telephone = 763887825").fetchone()
print(row)

Résultat:

❯ python app.py
Application de Gestion de contacte avec Python et Sqlite3
(2, 'Bamba Sall', '[email protected]', '763887825')

Étape 6: Modifier un contacte.

Pour modifier un contacte, nous allons utiliser la fonction UPDATE. Imaginons, demain Bamba change de numéro de téléphone  et nous voulons ajouter son nouveau numéro, voici comment ça se passe:

# app.py
import sqlite3

print("Application de Gestion de contacte avec Python et Sqlite3")

with sqlite3.connect("contact.db") as connection:
    cursor = connection.cursor()


nouveau_numero = "76332982"
ancien_numero = "763887825"
cursor.execute(
    "UPDATE contacte SET telephone = ? WHERE telephone = ?",
    (nouveau_numero, ancien_numero)
)

connection.commit()

Étape 7: Supprimer un contacte.

Pour supprimer un contacte, nous allons utiliser DELETE

# app.py
import sqlite3

print("Application de Gestion de contacte avec Python et Sqlite3")

with sqlite3.connect("contact.db") as connection:
    cursor = connection.cursor()

telephone = "763882835"
cursor.execute(
    "DELETE FROM contacte WHERE telephone = ?",
    (telephone,)
)

connection.commit()

Étape 8: Restructurer notre code

Maintenant, nous avons une application qui fonctionne séparément mais nous vouons aller plus loin. Pour ce, nous allons crée des fonctions ensuite appeler ces fonctions. Voici le code source final de notre application:

# app.py
import sqlite3

print("Application de Gestion de contacte avec Python et Sqlite3")

with sqlite3.connect("contact.db") as connection:
    cursor = connection.cursor()


def create_table():
    cursor.execute(
        "CREATE TABLE contacte (id INTEGER PRIMARY KEY AUTOINCREMENT,nomComplet TEXT, email TEXT, telephone TEXT)")


def ajouter_contacte():
    cursor.execute(
        "INSERT INTO contacte(nomComplet, email, telephone) VALUES('Ousseynou DIOP', '[email protected]', '763887835')")
    cursor.execute(
        "INSERT INTO contacte(nomComplet, email, telephone) VALUES('Bamba Sall', '[email protected]', '763887825')")
    cursor.execute(
        "INSERT INTO contacte(nomComplet, email, telephone) VALUES('Awa DIOP', '[email protected]', '763882835')")
    connection.commit()


def afficher_les_contactes():
    rows = cursor.execute("SELECT * FROM contacte").fetchall()
    print(rows)


def afficher_un_contacte():
    row = cursor.execute(
        "SELECT * FROM contacte WHERE telephone = 763887825").fetchone()
    print(row)


def supprimer_contacte():
    telephone = "763882835"
    cursor.execute(
        "DELETE FROM contacte WHERE telephone = ?",
        (telephone,)
    )
    connection.commit()


def modifier_contacte():
    nouveau_numero = "76332982"
    ancien_numero = "763887825"
    cursor.execute(
        "UPDATE contacte SET telephone = ? WHERE telephone = ?",
        (nouveau_numero, ancien_numero)
    )
    connection.commit()

Pourquoi devriez-vous commencer à apprendre Python dès aujourd'hui !

Les développeurs Python sont actuellement très demandés en raison de sa polyvalence et du fait qu'il peut être utilisé à de nombreuses fins différentes. Tentez votre chance et devenez développeur Python.

Cliquez ici pour obtenir une offre spéciale sur une formation Python.