Ansluta till din databas

Introduktion till databaser i Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Lär känna SQLAlchemy

  • Två huvuddelar
    • Core (fokus på relationsmodellen)
    • ORM (fokus på användardatamodellen)
Introduktion till databaser i Python

Det finns många typer av databaser

  • SQLite
  • PostgreSQL
  • MySQL
  • Microsoft SQL Server
  • Oracle SQL
  • Många fler
Introduktion till databaser i Python

Ansluta till en databas

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
connection = engine.connect()
  • Engine: gemensamt gränssnitt mot databasen från SQLAlchemy
  • Anslutningssträng: all information som behövs för att hitta databasen (och logga in, om det krävs)
Introduktion till databaser i Python

Om anslutningssträngar

driverdialect.png

        Drivrutin + Dialekt

Introduktion till databaser i Python

Om anslutningssträngar

filename.png

                                                                                               Filnamn

Introduktion till databaser i Python

Vad finns i din databas?

Innan du ställer frågor mot databasen vill du veta vad den innehåller – till exempel vilka tabeller som finns:

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
print(engine.table_names())
['census', 'state_fact']
Introduktion till databaser i Python

Reflektion

Reflektion läser databasen och bygger SQLAlchemy Table-objekt

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)
Introduktion till databaser i Python

Nu kör vi en övning!

Introduktion till databaser i Python

Preparing Video For Download...