Verbinding maken met je database

Introductie tot databases in Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Maak kennis met SQLAlchemy

  • Twee hoofdonderdelen
    • Core (gericht op relationeel model)
    • ORM (gericht op gebruikersdatamodel)
Introductie tot databases in Python

Er zijn veel soorten databases

  • SQLite
  • PostgreSQL
  • MySQL
  • Microsoft SQL Server
  • Oracle SQL
  • En meer
Introductie tot databases in Python

Verbinding maken met een database

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
connection = engine.connect()
  • Engine: gemeenschappelijke interface naar de database vanuit SQLAlchemy
  • Connection string: alle details om de database te vinden (en in te loggen, indien nodig)
Introductie tot databases in Python

Een opmerking over connection strings

driverdialect.png

        Driver + Dialect

Introductie tot databases in Python

Een opmerking over connection strings

filename.png

                                                                                               Bestandsnaam

Introductie tot databases in Python

Wat staat er in je database?

Voordat je queries draait, wil je weten wat erin staat: welke tabellen er zijn, bijvoorbeeld:

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
print(engine.table_names())
['census', 'state_fact']
Introductie tot databases in Python

Reflection

Reflection leest de database en bouwt SQLAlchemy-Table-objecten

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)
Introductie tot databases in Python

Laten we oefenen!

Introductie tot databases in Python

Preparing Video For Download...