Conectarea la baza de date

Introducere în baze de date în Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Introducere în SQLAlchemy

  • Două componente principale
    • Core (axat pe modelul relațional)
    • ORM (axat pe modelul de date al utilizatorului)
Introducere în baze de date în Python

Tipuri de baze de date

  • SQLite
  • PostgreSQL
  • MySQL
  • Microsoft SQL Server
  • Oracle SQL
  • Multe altele
Introducere în baze de date în Python

Conectarea la o bază de date

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
connection = engine.connect()
  • Engine: interfața comună cu baza de date în SQLAlchemy
  • Șir de conexiune: toate detaliile necesare pentru a localiza baza de date (și autentificarea, dacă e cazul)
Introducere în baze de date în Python

Despre șirurile de conexiune

driverdialect.png

        Driver + Dialect

Introducere în baze de date în Python

Despre șirurile de conexiune

filename.png

                                                                                               Filename

Introducere în baze de date în Python

Ce conține baza de date?

Înainte de a interoga baza de date, este util să știți ce conține — de exemplu, ce tabele există:

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
print(engine.table_names())
['census', 'state_fact']
Introducere în baze de date în Python

Reflecție

Reflecția citește baza de date și construiește obiecte SQLAlchemy Table

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)
Introducere în baze de date în Python

Să exersăm!

Introducere în baze de date în Python

Preparing Video For Download...