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

Метод remove класса MetaData

Метод remove класса MetaData удаляет объект Table из коллекции метаданных. Первым параметром метод принимает таблицу, которую нужно удалить. Вторым необязательным параметром передается схема. Если схема не указана, используется схема по умолчанию. Метод не удаляет саму таблицу из базы данных, а лишь убирает ее описание из объекта метаданных.

Синтаксис

MetaData.remove(table, [schema])

Пример

Давайте создадим метаданные с одной таблицей и удалим ее методом remove:

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

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

"dict_keys(['articles'])" "dict_keys([])"

Пример

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

from sqlalchemy import MetaData, Table, Column, Integer, String metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String) ) metadata.remove(articles) try: metadata.tables['articles'] except KeyError as e: print('KeyError:', e)

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

"KeyError: 'articles'"

Пример

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

from sqlalchemy import MetaData, Table, Column, Integer, String metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String) ) users = Table( 'users', metadata, Column('id', Integer, primary_key=True), Column('name', String) ) print(sorted(metadata.tables.keys())) metadata.remove(users) print(sorted(metadata.tables.keys()))

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

"['articles', 'users']" "['articles']"

Пример

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

from sqlalchemy import MetaData, Table, Column, Integer, String metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String) ) table = metadata.tables['articles'] metadata.remove(table) print(len(metadata.tables))

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

"0"

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

  • класс MetaData,
    который хранит коллекцию таблиц и схем
  • метод clear,
    который удаляет все таблицы из метаданных
  • атрибут tables,
    который хранит словарь всех таблиц
  • метод create_all,
    который создает все таблицы в базе данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить