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

Метод append_column

Метод append_column класса Table добавляет новую колонку Column к объекту таблицы. Первым параметром метод принимает объект колонки. Метод возвращает объект Table, к которому была добавлена колонка. Обычно метод используется при динамическом построении таблиц, когда структура таблицы формируется программно во время выполнения.

Синтаксис

table.append_column(column)

Пример

Давайте создадим пустую таблицу и добавим в нее колонку с помощью метода append_column:

from sqlalchemy import MetaData, Table, Column, Integer, String metadata = MetaData() articles = Table('articles', metadata) articles.append_column(Column('id', Integer, primary_key=True)) articles.append_column(Column('title', String)) print(articles.columns.keys())

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

['id', 'title']

Пример

Метод возвращает саму таблицу, поэтому вызовы можно объединять в цепочку:

from sqlalchemy import MetaData, Table, Column, Integer, String metadata = MetaData() articles = Table('articles', metadata) articles.append_column( Column('id', Integer, primary_key=True) ).append_column( Column('title', String) ).append_column( Column('text', String) ) for column in articles.columns: print(column.name, column.type)

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

id INTEGER title VARCHAR text VARCHAR

Пример

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

from sqlalchemy import MetaData, Table, Column, Integer, String from sqlalchemy import create_engine, insert, select metadata = MetaData() articles = Table('articles', metadata) articles.append_column(Column('id', Integer, primary_key=True)) articles.append_column(Column('title', String)) articles.append_column(Column('status', String)) engine = create_engine('sqlite:///:memory:') metadata.create_all(engine) with engine.connect() as conn: conn.execute(insert(articles).values(title='article', status='draft')) res = conn.execute(select(articles)).fetchall() print(res)

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

SELECT articles.id, articles.title, articles.status FROM articles

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

  • класс Table,
    который представляет таблицу базы данных
  • метод append_constraint,
    который добавляет ограничение к таблице
  • атрибут columns,
    который хранит коллекцию колонок таблицы
  • метод create,
    который создает таблицу в базе данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить