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

Класс Index

Класс Index представляет собой индекс базы данных. Он используется для ускорения поиска и выборки данных из таблиц. Первым параметром передается имя индекса, вторым - имя таблицы, к которой он применяется, а третьим - список столбцов, по которым строится индекс.

Синтаксис

Index(name, table, columns)

Пример

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

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) ) idx = Index('idx_articles_title', articles.c.title) print(idx)

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

"Index('idx_articles_title', articles.title)"

Пример

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

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) ) idx = Index('idx_articles_status_num', articles.c.status, articles.c.num) print(idx)

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

"Index('idx_articles_status_num', articles.status, articles.num)"

Пример

Давайте создадим индекс с помощью метода create и применим его к базе данных:

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) ) metadata.create_all(engine) idx = Index('idx_articles_title', articles.c.title) idx.create(engine) print("Index created successfully")

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

"Index created successfully"

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

CREATE INDEX idx_articles_title ON articles (title)

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

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