РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
321 of 711 menu

Класс Column

Класс Column представляет собой описание отдельного столбца таблицы базы данных. Он используется при декларативном или классическом определении моделей и хранит информацию об имени столбца, его типе, ограничениях и значениях по умолчанию. Первым параметром передается имя столбца в базе данных, вторым - тип данных (например, Integer или String). Дополнительными параметрами задаются флаги primary_key, nullable, unique, index, default и другие.

Синтаксис

Column(name, type_, [primary_key], [nullable], [unique], [index], [default])

Пример

Давайте опишем простую таблицу articles с помощью класса Column в декларативном стиле:

from sqlalchemy import create_engine, Column, Integer, String, MetaData, Table metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String, nullable=False), Column('text', String), Column('status', String), Column('num', Integer) ) print(articles.c.keys())

Результат выполнения кода:

['id', 'title', 'text', 'status', 'num']

Пример

Давайте создадим таблицу в базе данных и вставим в нее строку, чтобы убедиться, что столбцы работают корректно:

from sqlalchemy import create_engine, Column, Integer, String, MetaData, Table 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) with engine.connect() as conn: conn.execute( articles.insert().values( title='article', text='some text', status='draft', num=1 ) ) res = conn.execute(articles.select()).fetchall() print(res)

Результат выполнения кода:

[(1, 'article', 'some text', 'draft', 1)]

Пример

Давайте обратимся к атрибутам столбца Column и выведем его имя, тип и признак первичного ключа:

from sqlalchemy import Column, Integer, String col = Column('title', String(100), nullable=False) print(col.name) print(col.type) print(col.nullable) print(col.primary_key)

Результат выполнения кода:

"title" VARCHAR(100) False False

Смотрите также

  • класс Column,
    который описывает столбец таблицы
  • атрибут name,
    который хранит имя столбца
  • атрибут type,
    который хранит тип данных столбца
  • атрибут primary_key,
    который указывает, является ли столбец первичным ключом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить