Ajout avec CREATE INDEX
La syntaxe de CREATE INDEX est très simple :
Code : SQL
CREATE INDEX nom_index
ON nom_table (colonne_index [, colonne2_index ...]); -- Crée un
index simple
CREATE UNIQUE INDEX nom_index
ON nom_table (colonne_index [, colonne2_index ...]); -- Crée un
index UNIQUE
CREATE FULLTEXT INDEX nom_index
ON nom_table (colonne_index [, colonne2_index ...]); -- Crée un
index FULLTEXT
Exemple : l'équivalent de la commande ALTER TABLE que nous avons utilisée pour ajouter un index sur la colonne nom est
donc :
Code : SQL
CREATE INDEX ind_nom
ON Test_tuto (nom);
Complément pour la création d'un index UNIQUE - le cas des contraintes
Vous vous rappelez, j'espère, que les index UNIQUE sont ce qu'on appelle des contraintes.
Or, lorsque vous créez un index UNIQUE, vous pouvez explicitement créer une contrainte. C'est fait automatiquement bien sûr si
vous ne le faites pas, mais ne soyez donc pas surpris de voir apparaître le mot CONSTRAINT, c'est à ça qu'il se réfère.
Pour pouvoir créer explicitement une contrainte lors de la création d'un index UNIQUE, vous devez créer cet index soit lors de la
création de la table, en listant l'index (et la contrainte) à la suite des colonnes, soit après la création de la table, avec la commande
ALTER TABLE.
Code : SQL
CREATE TABLE nom_table (
colonne1 INT NOT NULL,
colonne2 VARCHAR(40),
colonne3 TEXT,
CONSTRAINT [symbole_contrainte] UNIQUE [INDEX] ind_uni_col2
(colonne2)
);
ALTER TABLE nom_table
ADD CONSTRAINT [symbole_contrainte] UNIQUE ind_uni_col2 (colonne2);
Il n'est pas obligatoire de donner un symbole (un nom en fait) à la contrainte. D'autant plus que dans le cas des index, vous
pouvez donner un nom à l'index (ici : ind_uni_col).
Suppression d'un index
Rien de bien compliqué :
Code : SQL
Partie 2 : Index, jointures et sous-requêtes
79/414
www.openclassrooms.com
Précédent

- 79/413

Suivant