Bases de SQL en Python : installation et utilisation de SQLAlchemy
La gestion des bases de données est un élément essentiel du développement logiciel moderne. Que vous développiez une application web, des scripts d'analyse de données ou des services backend, la maîtrise de la manipulation des données avec SQL reste cruciale.
Dans cet article, nous allons explorer en détail l'utilisation de SQL en Python avec la puissante bibliothèque SQLAlchemy. Vous apprendrez à installer la bibliothèque, configurer des connexions à différentes bases de données et effectuer les opérations fondamentales sur les données.
Qu'est-ce que SQLAlchemy ?
SQLAlchemy est l'une des bibliothèques Python les plus populaires et les plus complètes pour travailler avec des bases de données relationnelles. Elle offre un moyen simple et flexible d'interagir avec différents systèmes de gestion de bases de données via du code Python.
SQLAlchemy prend en charge les SGBD suivants :
- MySQL
- PostgreSQL
- SQLite
- Oracle
- Microsoft SQL Server
Fonctionnalités clés de SQLAlchemy
La bibliothèque SQLAlchemy offre aux développeurs un large éventail de fonctionnalités :
- Prise en charge directe des requêtes SQL pour une flexibilité maximale
- ORM (Object-Relational Mapping) pour travailler avec des bases de données via des classes Python
- API unifiée pour différents systèmes de gestion de bases de données
- Haute performance et simplicité d'écriture du code
- Gestion automatique des connexions à la base de données
- Protection intégrée contre les injections SQL
- Prise en charge des transactions et des pools de connexions
Installation de SQLAlchemy en Python
Installation de base
L'installation de SQLAlchemy est très simple et se fait via le gestionnaire de paquets pip :
pip install SQLAlchemy
Installation dans Jupyter Notebook
Pour travailler dans l'environnement Jupyter Notebook, utilisez la commande suivante :
!pip install SQLAlchemy
Installation des pilotes supplémentaires
Pour travailler avec différents SGBD, des pilotes supplémentaires peuvent être nécessaires :
pip install pymysql # pour MySQL
pip install psycopg2 # pour PostgreSQL
pip install cx_Oracle # pour Oracle
pip install pyodbc # pour SQL Server
Vérification de l'installation
Après l'installation, vérifiez la version de SQLAlchemy :
import sqlalchemy
print(sqlalchemy.__version__)
Démarrage rapide avec SQLAlchemy
Importation des modules nécessaires
Pour commencer avec SQLAlchemy, importez les modules principaux :
from sqlalchemy import create_engine, Column, Integer, String, DateTime
from sqlalchemy.orm import declarative_base, sessionmaker
from datetime import datetime
Configuration de la connexion à la base de données
Pour illustrer les possibilités, nous utiliserons SQLite, une base de données légère intégrée à Python :
engine = create_engine('sqlite:///example.db', echo=True)
Le paramètre echo=True permet d'afficher toutes les requêtes SQL exécutées par SQLAlchemy. C'est pratique pour le débogage et la compréhension du fonctionnement de l'ORM.
Création de modèles avec l'ORM
La création de modèles de données est la base du travail avec l'ORM SQLAlchemy :
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String, nullable=False)
age = Column(Integer)
created_at = Column(DateTime, default=datetime.utcnow)
def __repr__(self):
return f"<User(name='{self.name}', age={self.age})>"