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

Поле Unicode

Тип Unicode задает строковое поле базы данных с поддержкой символов Unicode. Он похож на тип String, но при работе с диалектами СУБД, которые различают байтовые и Unicode-строки, генерирует именно Unicode-вариант типа. Первым параметром передается максимальная длина строки в символах. Параметр length можно не указывать, тогда длина не ограничивается. Также доступны параметры collation для указания правила сравнения строк и convert_unicode для управления преобразованием.

Синтаксис

Unicode(length, [collation])

Пример

Давайте создадим колонку с типом Unicode и посмотрим, как она выглядит:

from sqlalchemy import Unicode title_type = Unicode(100) print(title_type)

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

"Unicode(length=100)"

Пример

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

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

Пример

Давайте создадим таблицу и вставим в нее строку с Unicode-символами:

from sqlalchemy import Unicode, 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(primary_key=True) title: Mapped[str] = mapped_column(Unicode(100)) text: Mapped[str] = mapped_column(Unicode(1000)) engine = create_engine('sqlite:///:memory:') Base.metadata.create_all(engine) with Session(engine) as session: article = Article(title='article', text='пример текста') session.add(article) session.commit() res = session.scalars(select(Article)).all() for row in res: print(row.title, row.text)

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

"article пример текста"

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

  • тип String,
    который задает обычную строку
  • тип UnicodeText,
    который задает Unicode-текст без ограничения длины
  • тип Text,
    который задает текстовое поле
  • тип VARCHAR,
    который задает строку переменной длины
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить