Класс Table
Класс Table представляет таблицу в базе данных.
Первым параметром передается имя таблицы,
вторым - объект MetaData, к которому привязывается таблица,
далее передаются столбцы и ограничения.
Таблица может быть создана как явно, так и автоматически
при работе с декларативными моделями.
Синтаксис
Table(name, metadata, *args, **kwargs)
Пример
Давайте создадим простую таблицу articles
с несколькими столбцами:
from sqlalchemy import Table, Column, Integer, String, MetaData
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
Column('text', String),
Column('status', String),
Column('num', Integer)
)
print(articles)
Результат выполнения кода:
"Table('articles', MetaData(), Column('id', Integer(), table=<articles>, primary_key=True, nullable=False), Column('title', String(), table=<articles>), Column('text', String(), table=<articles>), Column('status', String(), table=<articles>), Column('num', Integer(), table=<articles>), schema=None)"
Пример
Давайте обратимся к атрибутам таблицы columns
и primary_key:
from sqlalchemy import Table, Column, Integer, String, MetaData
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
Column('text', String),
Column('status', String),
Column('num', Integer)
)
print(articles.columns.keys())
print(articles.primary_key)
Результат выполнения кода:
['id', 'title', 'text', 'status', 'num']
PrimaryKeyConstraint(Column('id', Integer(), table=<articles>, primary_key=True, nullable=False))
Пример
Давайте создадим таблицу в базе данных
с помощью метода create:
from sqlalchemy import Table, Column, Integer, String, MetaData, create_engine
engine = create_engine('sqlite:///:memory:')
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
Column('text', String),
Column('status', String),
Column('num', Integer)
)
metadata.create_all(engine)
print(articles.exists(engine))
Результат выполнения кода:
True
Смотрите также
-
метод
create,
который создает таблицу в базе данных -
атрибут
columns,
который содержит коллекцию столбцов таблицы -
атрибут
primary_key,
который представляет первичный ключ таблицы -
метод
drop,
который удаляет таблицу из базы данных