ALTER TABLE, CREATE VIEW et CREATE INDEX

Modifier la structure d'une table, enregistrer une requête sous un nom, et accélérer les recherches.

Syntaxe

ALTER TABLE name ADD COLUMN column type;
ALTER TABLE name ADD CONSTRAINT rule CHECK (condition);
CREATE VIEW name AS SELECT …;
CREATE INDEX name ON table (column);
DROP TABLE [IF EXISTS] name;
  • Une vue ne stocke aucune donnée : elle exécute sa requête à chaque fois.
  • Les contraintes de clé primaire et d'unicité créent automatiquement un index.

Exemple

SELECT indexname FROM pg_indexes WHERE tablename = 'orders' ORDER BY indexname;

Les index de la table orders : celui créé par PostgreSQL pour la clé primaire.

Tables utilisées : orders. Essayez-le dans une leçon ci-dessous.

Erreurs courantes

  • DROP TABLE ne peut pas être annulé en dehors d'une transaction.
  • Chaque index supplémentaire ralentit un peu les insertions et les mises à jour.

Pratiquer