Создание индексов
С помощью оператора CREATE INDEX можно создать только обычный индекс и индекс UNIQUE. Оператор ALTER TABLE позволяет создавать индекс PRIMARY KEY.
Синтаксис оператора ALTER TABLE:
MySQL:
ALTER TABLE
<tbl_name> ADD {INDEX|UNIQUE} <index_name>
(<column_list>)
ALTER TABLE <tbl_name> ADD PRIMARY KEY
(<column_list>)
MS SQL:
ALTER TABLE
<tbl_name> ADD CONSTRAINT <index_name> {
PRIMARY KEY | UNIQUE }
ON (<column_list>,... )]
Здесь tbl_name — имя индексируемой таблицы, column_list — список индексируемых столбцов. Если индекс состоит из нескольких столбцов, они разделяются в списке запятыми.
Имя индекса index_name можно не указывать. В случае его отсутствия индексу будет присвоено имя первого индексируемого столбца. Оператор ALTER TABLE позволяет создавать сразу несколько индексов одним оператором.
Синтаксис оператора CREATE INDEX:CREATE [UNIQUE] INDEX <index_name> ON <tbl_name> (<col_name>,... )
Параметры tbl_name, index_name и column_list имеют значение, аналогичное значению, принятому для оператора ALTER TABLE. Но в операторе CREATE INDEX параметр index_name является обязательным.
MS SQL:
CREATE UNIQUE INDEX client_phone ON tbl_clients(phone)
или
ALTER TABLE tbl_clients ADD CONSTRAINT client_phonе UNIQUE ON (phone)
MySQL:
CREATE UNIQUE INDEX client_phone ON tbl_clients(phone)
или
ALTER TABLE tbl_clients ADD UNIQUE client_phonе (phone)