Syntaxe de CREATE DATABASE
<<<
Syntaxe de CREATE INDEX Syntaxe de CREATE TABLE
>>>

14.2 Définition de données : CREATE , DROP , ALTER
14 Syntaxe des commandes SQL
 Manuel de Référence MySQL 4.1 : Version Française

Syntaxe de ALTER DATABASE
Syntaxe de ALTER TABLE
Syntaxe de CREATE DATABASE
->Syntaxe de CREATE INDEX
Syntaxe de CREATE TABLE
Syntaxe de DROP DATABASE
Syntaxe de DROP INDEX
Syntaxe de DROP TABLE
Syntaxe de RENAME TABLE

14.2.4 Syntaxe de CREATE INDEX


CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [index_type]
    ON tbl_name (index_col_name,...)

index_col_name:
    col_name [(length)] [ASC | DESC]
La requête CREATE INDEX n'effectue aucune action sur les versions de MySQL antérieures à la version 3.22. Dans les versions 3.22 et supérieures, CREATE INDEX est équivalent à une requête ALTER TABLE pour créer des index. Syntaxe de ALTER TABLE .Normalement, tous les index sont créés en même temps que la table elle même avec CREATE TABLE . Syntaxe de CREATE TABLE . CREATE INDEX permet d'ajouter des index à une table existante.

Une liste de colonnes de la forme (col1,col2,...) crée un index multi-colonnes. Les valeurs de l'index sont créées en concaténant la valeur deux colonnes données.

Pour les colonnes CHAR et VARCHAR , les index peut être créés sur uniquement une partie de la colonne, avec la syntaxe col_name(length) . Pour les colonnes BLOB et TEXT la longueur d'index est obligatoire . La requête suivante crée un index en utilisant les 10 premiers caractères de la colonne name :

mysql> CREATE INDEX part_of_name ON customer (name(10));
Comme la plupart des noms ont en général des différences dans les 10 premiers caractères, l'index ne devrait pas être plus lent qu'un index créé à partir de la colonne name en entier. Ainsi, en n'utilisant qu'une partie de la colonne pour les index, on peut réduire la taille du fichier d'index, ce qui peut permettre d'économiser beaucoup d'espace disque, et peut aussi accélérer les opérations INSERT !Il est important de savoir qu'on peut indexer une colonne qui peut avoir la valeur NULL ou une colonne BLOB / TEXT que si on utilise une version 3.23.2 ou supérieure de MySQL et en utilisant le type MyISAM .

Pour plus d'informations à propos de l'utilisation des index dans MySQL, voir Comment MySQL utilise les index .

Les index FULLTEXT ne peuvent indexer que des colonnes VARCHAR ou TEXT , et seulement dans les tables MyISAM . Les index FULLTEXT sont disponibles dans les versions 3.23.23 et supérieures de MySQL. Fonctions de recherche en texte plein .

Les index SPATIAL peuvent indexer les colonnes spatiales, et uniquement avec les tables MyISAM . Les index SPATIAL sont disponibles en MySQL 4.1 et plus récent. Les colonnes spatiales sont présentées dans section Extensions spatiale de MySQL .

<< Syntaxe de CREATE INDEX >>
Syntaxe de CREATE DATABASE Définition de données : CREATE , DROP , ALTER Syntaxe de CREATE TABLE