Salut Lionel,
SQLite fonctionne en mode "fichier" sans service dédié, contrairement à MySQL (par exemple) qui tourne comme un service (deamon).
Installe-toi WSL sur ton windows.
En Python, c'est intéressant d'aborder le module Sqlite de la STD (librairie standard). Pourquoi ?
Lorsque tu vas utiliser
un autre driver pour te connecter à une autre base de données, c'est la même API ! Que ce soit MySQL, PostgrSQL ou Sqlite, tu auras toujours les mêmes méthodes !
N'oublie jamais ceci à propos de Sqlite :
- Sqlite est une excellente DB (en lecture, elle peut être plus performante que MySQL)
- Sqlite manque cruellement de certains mots clefs comme
Truncate par exemple
- Sqlite est dans un fichier
- Sqlite est
mono utilisateur. Ne pas l'utiliser lorsqu'il y a
plusieurs connexions.
- Sqlite est la base de données la plus utilisées dans le monde !
Exemple d'utilisation Sqlite avec Python:
import sqlite3
# 1. Crée/ouvre un fichier DB (aucun service nécessaire)
conn = sqlite3.connect('forum.db') # Fichier créé dans ton dossier courant
cursor = conn.cursor()
# 2. Crée une table et insère des données
cursor.execute("CREATE TABLE IF NOT EXISTS membres (id INTEGER, pseudo TEXT)")
cursor.execute("INSERT INTO membres VALUES (1, 'Lionel')")
conn.commit() # N'oublie pas !
# 3. Lit les données
for row in cursor.execute("SELECT * FROM membres"):
print(row) # Output: (1, 'Lionel')
conn.close() # Fermeture propre
SqlAlchemy est un excellent ORM. Cependant, il peut être compliqué à aborder (« mode procédurale et mode object »). Avec SqlALchemy, il y a
Alembic pour gérer les migrations.
Mongoengine (un ORM pour gérer mongodb) a quasiment la même API.
Un autre ORM intéressant en Python (je ne le connais pas), c'est
Peewee. Il me semble plus simple à aborder. Cependant, il est largement moins utilisé dans le monde de Python.
Modifié par niuxe (23 May 2025 - 12:28)