~$ man sqlalchemy
C'est quoi SQLAlchemy (ORM Python) ?
définition
SQLAlchemy est un ORM (Object Relational Mapper) pour Python. Il transforme les tables d'une base de données en classes Python et les lignes en objets.
Il existe en deux couches : Core pour les requêtes SQL flexibles et ORM pour manipuler des objets. Tu choisis le niveau selon tes besoins.
La bibliothèque gère les connexions, les migrations via Alembic et supporte PostgreSQL, MySQL, SQLite et d'autres.
Imagine que ta base de données est une grande armoire avec des dossiers. SQLAlchemy est le secrétaire qui comprend tes demandes en français courant et va chercher ou ranger les dossiers sans que tu ouvres chaque tiroir toi-même.
à retenir
- SQLAlchemy sépare la logique métier du langage SQL brut.
- Il propose un ORM complet mais aussi une couche Core plus légère.
- Les sessions gèrent automatiquement les transactions et le cache.
- Alembic permet de versionner les schémas de base de données.
- Il reste compatible avec du SQL pur quand c'est nécessaire.
le marché en 2026
En 2026 les entreprises qui ont des données structurées continuent de chercher des développeurs Python capables de maîtriser SQLAlchemy. Les postes les plus courants sont développeur backend, data engineer et consultant data. La compétence reste demandée car beaucoup de systèmes legacy et de projets web reposent encore sur des bases relationnelles.
questions fréquentes
Comment installer SQLAlchemy avec pip ?
Utilise la commande pip install sqlalchemy. Pour une base précise ajoute aussi le driver comme psycopg2 pour PostgreSQL.
SQLAlchemy est-il compatible avec FastAPI ?
Oui. Beaucoup de projets FastAPI utilisent SQLAlchemy via les dépendances et les sessions pour gérer les requêtes.
Quelle est la différence entre Core et ORM dans SQLAlchemy ?
Core travaille directement avec des tables et des expressions SQL. ORM ajoute une couche d'objets Python par-dessus pour plus de confort.
Faut-il connaître SQL pour utiliser SQLAlchemy ?
Un minimum de SQL aide à comprendre ce qui se passe. L'ORM permet cependant d'écrire la plupart des opérations sans écrire de requêtes manuelles.
les cours pour aller plus loin
