MySQL utilizza gli indici di tipo
- PRIMARY KEY
- UNIQUE
- INDEX
- FULLTEXT
per
- garantire l’integrità dei dati
- rendere più veloci le operazioni in presenza della clausola WHERE.
CREATE TABLE
Quando si crea una tabella si aggiungono anche le definizioni degli indici
PRIMARY KEY
Uno o più campi sono la chiave primaria per la tabella
nome_campo tipo_campo PRIMARY KEY
PRIMARY KEY (nome_campo)
PRIMARY KEY (elenco_campi)
UNIQUE
Non sono ammessi valori duplicati per uno o più campi
UNIQUE(...)
UNIQUE INDEX(...)
UNIQUE KEY(...)
INDEX
INDEX(...)
KEY(...)
FOREIGN KEY
Chiave esterna collegata a …
FOREIGN KEY (elenco_campi) REFERENCES nome_tabella(elenco_campi)
SHOW INDEXES
SHOW INDEXES FROM nome_tabella
ALTER TABLE
Manipolare gli indici di una tabella dopo averla creata
ADD INDEX
ALTER TABLE nome_tabella ADD PRIMARY KEY (elenco_campi)
ALTER TABLE nome_tabella ADD INDEX (elenco_campi)
ALTER TABLE nome_tabella ADD KEY (elenco_campi)
ALTER TABLE nome_tabella ADD UNIQUE INDEX (elenco_campi)
ALTER TABLE nome_tabella ADD UNIQUE KEY (elenco_campi)
ALTER TABLE nome_tabella ADD FOREIGN KEY (elenco_campi)
DROP INDEX
ALTER TABLE nome_tabella DROP PRIMARY KEY
ALTER TABLE nome_tabella DROP INDEX nome_campo
DISABLE KEYS
ALTER TABLE nome_tabella DISABLE KEYS
ENABLE KEYS
ALTER TABLE nome_tabella ENABLE KEYS
CREATE INDEX
Si può usare al posto di ALTER TABLE.
Non può creare PRIMARY KEY
CREATE INDEX nome_indice ON nome_tabella(elenco_campi)
CREATE UNIQUE INDEX nome_indice ON nome_tabella(elenco_campi)