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

Функция table

Функция table создает объект таблицы Table из модуля sqlalchemy. Первым параметром функция принимает имя таблицы в виде строки. Далее передаются столбцы таблицы, а также можно указать схему и дополнительные аргументы. Функция возвращает объект Table, который можно использовать в запросах select, insert, update и delete.

Синтаксис

table(name, *columns, [schema], [**kw])

Пример

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

from sqlalchemy import table, column, Integer, String articles = table( 'articles', 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)"

Пример

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

from sqlalchemy import table, column, Integer, String articles = table( 'articles', column('id', Integer), column('title', String), column('text', String) ) print(articles.c.id.name) print(articles.c.title.name) print(articles.c.text.name)

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

"id" "title" "text"

Пример

Давайте построим SQL-запрос выборки из таблицы articles с помощью функции select:

from sqlalchemy import table, column, Integer, String, select articles = table( 'articles', column('id', Integer), column('title', String), column('text', String) ) query = select(articles.c.id, articles.c.title) print(query)

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

SELECT articles.id, articles.title FROM articles

Пример

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

from sqlalchemy import table, column, Integer, String, insert articles = table( 'articles', column('id', Integer), column('title', String), column('text', String), schema='main' ) stmt = insert(articles).values(id=1, title='article', text='sql') print(stmt)

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

INSERT INTO main.articles (id, title, text) VALUES (:id, :title, :text)

Пример

Давайте выполним запрос к базе данных SQLite в памяти с использованием объекта таблицы:

from sqlalchemy import ( create_engine, table, column, Integer, String, select, text ) engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text( 'CREATE TABLE articles (id INTEGER, title TEXT, text TEXT)' )) conn.execute(text( "INSERT INTO articles VALUES (1, 'article', 'sql')" )) articles = table( 'articles', column('id', Integer), column('title', String), column('text', String) ) res = conn.execute(select(articles.c.title)) print(res.fetchall())

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

[('article',)]

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

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