Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Программные интерфейсы общего назначения > Прикладные библиотеки и технологии > Библиотека менеджера QDB > Справочник по командам SQL, поддерживаемым менеджером QDB > SQL: CREATE INDEX



SQL: CREATE INDEX

Создает индекс

Прототип:

CREATE [UNIQUE] INDEX [IF NOT EXISTS] [имя_базы_данных .] имя_индекса
ON имя_таблицы ( имя_столбца [, имя_столбца]* )
имя_столбца = имя [COLLATE имя_сортировки] [ASC | DESC]

Описание:

Эта команда содержит ключевые слова CREATE INDEX, за которыми следуют имя нового индекса, ключевое слово ON, имя существующей индексируемой таблицы и заключенный в скобки список имен ее столбцов, которые используются в качестве ключа индекса. После любого имени столбца можно указывать ключевые слова ASC и DESC, которые определяют порядок сортировки, однако он игнорируется в текущей реализации этого оператора, а сортировка всегда выполняется в порядке возрастания.

После имени столбца можно указывать условие COLLATE, которое задает порядок сортировки текстовых элементов столбца. По умолчанию применяется порядок сортировки, который определен для столбца в операторе CREATE TABLE. Если порядок сортировки не задан, используется встроенный порядок BINARY.

Количество индексов, которые можно присоединять к одной таблице, и количество столбцов в индексе не ограничены.

Если между ключевыми словами CREATE и INDEX указано ключевое слово UNIQUE, дублирование элементов индекса не допускается, и при попытке вставить дубликат элемента возникает ошибка.

Тексты всех операторов CREATE INDEX хранятся в таблице sqlite_master или sqlite_temp_master table в зависимости от того, является ли индексируемая таблица временной. При каждом открытии базы данных все операторы CREATE INDEX считываются из таблицы sqlite_master и используются для восстановления внутреннего представления структуры индекса в QDB.

Если указано необязательное условие IF NOT EXISTS и существует еще один индекс с таким же именем, эта команда не выполняет никаких действий.

Для удаления индексов используется команда SQL: DROP INDEX.

Тематические ссылки:

Выражения в SQL запросах, Ключевые слова, поддерживаемые QDB




Предыдущий раздел: перейти