Атрибут c класса Table
Атрибут c класса Table представляет
собой коллекцию колонок таблицы. Через него можно
обращаться к отдельным колонкам по их имени,
например table.c.title. Это основной способ
получить ссылку на колонку для построения запросов.
Синтаксис
table.c.column_name
Пример
Давайте создадим таблицу и получим доступ к ее
колонкам через атрибут c:
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),
)
print(articles.c.id)
print(articles.c.title)
print(articles.c.text)
Результат выполнения кода:
"articles.id"
"articles.title"
"articles.text"
Пример
Давайте переберем все колонки таблицы через атрибут
c:
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),
)
for column in articles.c:
print(column.name)
Результат выполнения кода:
"id"
"title"
"text"
"status"
Пример
Давайте используем атрибут c для построения
SQL-запроса:
from sqlalchemy import Table, Column, Integer, String, MetaData, select
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
Column('text', String),
)
query = select(articles.c.id, articles.c.title)
print(query)
Итоговый SQL запрос:
SELECT articles.id, articles.title
FROM articles
Смотрите также
-
класс
Table,
который представляет таблицу базы данных -
атрибут
columns,
который хранит коллекцию колонок таблицы -
атрибут
primary_key,
который хранит первичный ключ таблицы -
метод
create,
который создает таблицу в базе данных