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

Поле INT

Поле INT представляет целочисленный тип данных в SQLAlchemy. Оно используется для хранения целых чисел без дробной части. Тип INT не принимает обязательных параметров, однако можно указать дополнительные опции, такие как unsigned или zerofill, которые поддерживаются некоторыми СУБД, например MySQL.

Синтаксис

INT()

Пример

Давайте создадим колонку с типом INT в модели таблицы articles:

from sqlalchemy import INT from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column class Base(DeclarativeBase): pass class Article(Base): __tablename__ = 'articles' id: Mapped[int] = mapped_column(INT, primary_key=True) title: Mapped[str] num: Mapped[int] = mapped_column(INT)

В этом примере колонки id и num будут иметь целочисленный тип в базе данных.

Пример

Давайте создадим таблицу и вставим в нее запись с целочисленными значениями:

from sqlalchemy import INT, create_engine, select from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, Session class Base(DeclarativeBase): pass class Article(Base): __tablename__ = 'articles' id: Mapped[int] = mapped_column(INT, primary_key=True) title: Mapped[str] num: Mapped[int] = mapped_column(INT) def __repr__(self): return f"Article(id={self.id}, title={self.title}, num={self.num})" engine = create_engine('sqlite:///:memory:') Base.metadata.create_all(engine) with Session(engine) as session: article = Article(title='article', num=42) session.add(article) session.commit() res = session.execute(select(Article)).scalar_one() print(res)

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

"Article(id=1, title=article, num=42)"

Пример

Давайте посмотрим, какой SQL-запрос генерирует тип INT при создании таблицы:

from sqlalchemy import INT, create_engine from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column from sqlalchemy.schema import CreateTable class Base(DeclarativeBase): pass class Article(Base): __tablename__ = 'articles' id: Mapped[int] = mapped_column(INT, primary_key=True) title: Mapped[str] num: Mapped[int] = mapped_column(INT) engine = create_engine('sqlite:///:memory:') print(CreateTable(Article.__table__).compile(engine))

Итоговый SQL запрос:

CREATE TABLE articles ( id INTEGER NOT NULL, title VARCHAR NOT NULL, num INTEGER NOT NULL, PRIMARY KEY (id) )

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

  • класс Integer,
    который представляет стандартный целочисленный тип
  • класс BigInteger,
    который представляет целочисленный тип большого размера
  • класс SmallInteger,
    который представляет целочисленный тип малого размера
  • класс Float,
    который представляет число с плавающей точкой
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить