Connexion à votre base de données

Introduction aux bases de données en Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Découvrez SQLAlchemy

  • Deux composantes principales
    • Noyau (axé sur le modèle relationnel)
    • ORM (axé sur le modèle de données utilisateur)
Introduction aux bases de données en Python

Il existe plusieurs types de bases de données

  • SQLite
  • PostgreSQL
  • MySQL
  • Microsoft SQL Server
  • Oracle SQL
  • Et bien d'autres
Introduction aux bases de données en Python

Connexion à une base de données

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
connection = engine.connect()
  • Moteur : interface commune vers la base de données depuis SQLAlchemy
  • Chaîne de connexion : tous les détails pour repérer la base (et se connecter, au besoin)
Introduction aux bases de données en Python

Un mot sur les chaînes de connexion

Pilote et dialecte

        Pilote + dialecte

Introduction aux bases de données en Python

Un mot sur les chaînes de connexion

Nom de fichier

                                                                                               Nom de fichier

Introduction aux bases de données en Python

Que contient votre base de données ?

Avant d'interroger votre base, il faut savoir ce qu'elle contient : par exemple, quelles tables ?

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
print(engine.table_names())
['census', 'state_fact']
Introduction aux bases de données en Python

Réflexion

La réflexion lit la base et construit des objets Table SQLAlchemy

from sqlalchemy import MetaData, Table

metadata = MetaData()
census = Table('census', metadata, autoload=True, autoload_with=engine)
print(repr(census))
Table('census', MetaData(bind=None), Column('state', VARCHAR(
length=30), table=<census>), Column('sex', VARCHAR(length=1),
table=<census>), Column('age', INTEGER(), table=<census>),
Column('pop2000', INTEGER(), table=<census>), Column('pop2008',
INTEGER(), table=<census>), schema=None)
Introduction aux bases de données en Python

Passons à la pratique !

Introduction aux bases de données en Python

Preparing Video For Download...