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

Функция column

Функция column создает объект колонки SQL-выражения. Первым параметром функция принимает имя колонки. Вторым необязательным параметром можно передать тип данных. Колонка может использоваться в запросах, выражениях и при построении таблиц.

Синтаксис

column(name, [type_])

Пример

Давайте создадим простую колонку с именем id и выведем ее на экран:

from sqlalchemy import column col = column('id') print(col)

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

"id"

Пример

Давайте создадим колонку с указанием типа данных Integer:

from sqlalchemy import column, Integer col = column('num', Integer) print(col)

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

"num INTEGER"

Пример

Давайте используем колонку в составе SQL-выражения с функцией func.lower:

from sqlalchemy import column, func col = column('title') expr = func.lower(col) print(expr)

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

lower(title)

Пример

Давайте построим таблицу с несколькими колонками, используя функцию column и класс Table:

from sqlalchemy import Table, MetaData, column, Integer, String metadata = MetaData() articles = Table( 'articles', metadata, column('id', Integer), column('title', String), column('text', String), ) print(articles)

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

"Table('articles', MetaData(), Column('id', Integer(), table=<articles>), Column('title', String(), table=<articles>), Column('text', String(), table=<articles>), schema=None)"

Пример

Давайте выполним SQL-запрос с использованием колонки через text и передадим параметр через bindparam:

from sqlalchemy import create_engine, text, bindparam engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text('CREATE TABLE articles (id INTEGER, title TEXT, text TEXT, status TEXT, num INTEGER)')) conn.execute(text('INSERT INTO articles (id, title, text, status, num) VALUES (1, :title, :text, :status, :num)'), {'title': 'article', 'text': 'some text', 'status': 'published', 'num': 10}) res = conn.execute(text('SELECT title FROM articles WHERE num > :n').bindparams(bindparam('n', 5))).fetchall() print(res)

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

[('article',)]

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

  • функцию literal_column,
    которая создает колонку из строкового литерала
  • функцию table,
    которая создает объект таблицы
  • функцию label,
    которая задает псевдоним для колонки
  • функцию bindparam,
    которая создает параметр привязки для запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить