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

Поле UnicodeText

Поле UnicodeText представляет собой тип данных для хранения длинных текстовых значений в кодировке Unicode. В отличие от Unicode, который имеет ограничение по длине и обычно транслируется в VARCHAR, тип UnicodeText не имеет фиксированной длины и на уровне СУБД превращается в TEXT или CLOB. Это делает его удобным для хранения статей, описаний, комментариев и других объемных текстов, которые могут содержать символы разных языков. Параметров у типа нет - длина не указывается.

Синтаксис

UnicodeText()

Пример

Давайте создадим модель с полем UnicodeText и посмотрим, как оно используется в таблице:

from sqlalchemy import create_engine, UnicodeText 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] text: Mapped[str] = mapped_column(UnicodeText) 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.query(Article).first() print(res.title) print(res.text)

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

"article" "Пример длинного текста на русском языке"

Пример

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

from sqlalchemy import create_engine, UnicodeText, MetaData, Table, Column, Integer engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('text', UnicodeText), ) print(articles.c.text.type) print(articles.c.text.type.compile(engine.dialect))

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

"UnicodeText()" "TEXT"

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

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