Подключение к базе данных

Введение в базы данных на Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Знакомство с SQLAlchemy

  • Два основных компонента
    • Core (ориентирован на реляционную модель)
    • ORM (ориентирован на пользовательскую модель данных)
Введение в базы данных на Python

Существует множество типов баз данных

  • SQLite
  • PostgreSQL
  • MySQL
  • Microsoft SQL Server
  • Oracle SQL
  • И многие другие
Введение в базы данных на Python

Подключение к базе данных

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
connection = engine.connect()
  • Engine: единый интерфейс SQLAlchemy для работы с базой данных
  • Строка подключения: все необходимые сведения для поиска базы данных (и входа, если требуется)
Введение в базы данных на Python

О строках подключения

driverdialect.png

        Драйвер + Диалект

Введение в базы данных на Python

О строках подключения

filename.png

                                                                                               Имя файла

Введение в базы данных на Python

Что содержится в вашей базе данных?

Перед запросами к базе данных полезно узнать её содержимое — например, какие таблицы в ней есть:

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
print(engine.table_names())
['census', 'state_fact']
Введение в базы данных на Python

Рефлексия

Рефлексия читает базу данных и создаёт объекты 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)
Введение в базы данных на Python

Давайте потренируемся!

Введение в базы данных на Python

Preparing Video For Download...