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 composants principaux
    • 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

De nombreux 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

Se connecter à une base de données

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
connection = engine.connect()
  • Engine : interface commune vers la base de données depuis SQLAlchemy
  • Chaîne de connexion : tous les détails pour localiser la base (et se connecter si 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 la base, il est utile de savoir ce qu'elle contient : par exemple, les 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

Reflection

La « reflection » 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...