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

Метод drop класса Index

Метод drop класса Index удаляет индекс из базы данных. Метод принимает необязательный параметр bind, который указывает движок или соединение для выполнения операции. Если параметр не указан, используется привязка, связанная с таблицей или метаданными.

Синтаксис

Index.drop(bind=None)

Пример

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

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, Index engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String), Column('status', String), Column('num', Integer) ) index = Index('ix_articles_title', articles.c.title) metadata.create_all(engine) print(index.exists(engine)) index.drop(engine) print(index.exists(engine))

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

True False

Пример

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

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, Index engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String), Column('status', String), Column('num', Integer) ) index = Index('ix_articles_status', articles.c.status) metadata.create_all(engine) with engine.connect() as conn: print(index.exists(conn)) index.drop(bind=conn) print(index.exists(conn))

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

True False

Пример

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

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, Index from sqlalchemy.schema import DropIndex engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String), Column('status', String), Column('num', Integer) ) index = Index('ix_articles_num', articles.c.num) print(DropIndex(index).compile(engine))

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

DROP INDEX ix_articles_num

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

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