Conectando ao seu banco de dados

Introdução a Bancos de Dados em Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Conheça o SQLAlchemy

  • Duas partes principais
    • Núcleo (focado no Modelo Relacional)
    • ORM (focado no Modelo de Dados do usuário)
Introdução a Bancos de Dados em Python

Há muitos tipos de bancos de dados

  • SQLite
  • PostgreSQL
  • MySQL
  • Microsoft SQL Server
  • Oracle SQL
  • E muitos outros
Introdução a Bancos de Dados em Python

Conectando a um banco de dados

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
connection = engine.connect()
  • Engine: interface comum do SQLAlchemy para o banco de dados
  • String de conexão: todos os detalhes para localizar o banco (e login, se necessário)
Introdução a Bancos de Dados em Python

Uma palavra sobre strings de conexão

driverdialect.png

        Driver + Dialeto

Introdução a Bancos de Dados em Python

Uma palavra sobre strings de conexão

filename.png

                                                                                               Nome do arquivo

Introdução a Bancos de Dados em Python

O que há no seu banco de dados?

Antes de consultar o banco, é bom saber o que há nele: por exemplo, quais são as tabelas:

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
print(engine.table_names())
['census', 'state_fact']
Introdução a Bancos de Dados em Python

Reflection

Reflection lê o banco e cria objetos Table do 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)
Introdução a Bancos de Dados em Python

Vamos praticar!

Introdução a Bancos de Dados em Python

Preparing Video For Download...