<!--:fr-->[certification mysql] #6 DDL : Modification de tables<!--:-->

[certification mysql] #6 DDL : Modification de tables

Ce billet fait parti de la série des fiches de révision pour la certifications MySQL.

Instruction ALTER TABLE :

  • ajouter/supprimer des colonnes
  • modification nom ou définition d’une colonne
  • ajouter / supprimer des indextrier des lignesrenommer une table

Ajouter/supprimer des colonnes

Ajout d’une colonne en fin de table (défaut)

ALTER TABLE maTable ADD nomDeLaColonne TYPE OPTION;

Ajout d’une colonne au début :

ALTER TABLE maTable ADD nomDeLaColonne TYPE OPTION FIRST;

Ajout d’une colonne au début :

ALTER TABLE maTable ADD nomDeLaColonne TYPE OPTION AFTER maColonne;

Supprimer une colonne :

ALTER TABLE maTable DROP nomDeLaColonne;

Modifier une colonne

Juste sa définition (même les TYPE/OPTION qui ne change pas):

ALTER TABLE maTable MODIFY maColonne TYPE OPTION;

Avec le nom :

ALTER TABLE maTable CHANGE ancienNom nouveauNom TYPE OPTION;

Renommer une table :

Une seule table :

ALTER TABLE t RENAME TO t2;

Une ou plusieurs tables :

RENAME TABLE t1 TO t2, t3 TO t4;

Créer / supprimer les index

Quatre types d’index :

  • index non unique : mot clé INDEX ou KEY (accélère les recherche)
  • index unique : mot clé UNIQUE
  • index clé primaire : mot clé PRIMARY KEY (idem que UNIQUE avec la clause not null en plus)
  • index pour la recherche de text : mot clé FULLTEXT

CREATE TABLE maTable (maColonne , MOTCLE(maColonne) );

Utiliser ALTER TABLE ou à la création de la table.

ALTER TABLE maTable ADD MOTCLE(colonne);

ALTER TABLE maTable DROP MOTCLE nomDeLindex;

Pour trouver le nom de l’index, faire :

SHOW CREATE TABLE maTable;

CREATE MOTCLE INDEX nomDeLindex ON maTable(maColonne);

DROP MOTCLE INDEX nomDeLindex ON maTable;

Ne fonctionne pas pour les clés primaires ( utiliser uniquement ALTER TABLE).

Possibilité de donner un nom (unique) à un index (utile pour la suppression).

Pour une primary key le nom est PRIMARY. Il ne peut donc exister qu’une clé primaire par table.

Clé primaire = identifiant unique pour un champ <=> PRIMARY KEY ou UNIQUE plus clause NOT NULL sur la ou les colonnes

Did you enjoy this post?

If so, would you please consider sharing it with the world

Leave a Reply

Default User

Your Name

janvier 04, 2009

* Name, Email, and Comment are Required

Get Adobe Flash playerPlugin by wpburn.com wordpress themes