Modification d’une table - MySQL en action


En imaginant votre site, vous vous apercevez que vous aimeriez ajouter la date d’inscription de chaque membre.

Avec MySQL, deux options existent pour la date. Soit vous entrez une date, soit vous utilisez un format qui la crée automatiquement. Cette dernière option évite de créer une donnée pour l’insérer et économise du
code. Il s’agit du type TIMESTAMP. L’inconvénient majeur de ce format de colonne est que si vous modifiez une donnée dans la ligne, comme par exemple l’e-mail, le champ modifiera aussi la date. C’est pourquoi nous conseillons l’autre option de date.

Nous pouvons mettre les deux types de colonne. Ainsi, nous saurons si le membre du club a modifié ses données, donc s’il est actif dans le club.

Pour insérer ces deux champs, nous utiliserons la commande ALTER. Les champs s’appelleront date_inscription et date_misajour :




ALTER TABLE membres
ADD date_inscription DATE not null,
ADD date_misajour TIMESTAMP(8) not null


Vous employez les commandes ALTER TABLE et ADD pour ajouter des colonnes à la table. Le type DATE a un format AAAA-MM-JJ par défaut et TIMESTAMP possède une longueur de 14 caractères par défaut, sous la forme AAAAMMJJHHMMSS. Ici, la longueur de 8 induit un format de type AAAAMMJJ.

Cette fois, vous commencez à voir votre site. Vous imaginez les membres qui s’inscrivent du monde entier à votre club. Vous rencontrez des membres d’autres pays et voyagez. Vous avez un cousin qui vit au Québec
et vous voyez déjà parti vers ce pays pour rencontrer des Québécois inscrits sur le site. Vous pourrez également vous amuser à faire des statistiques sur la nationalité des membres. Attention, certains membres
vont orthographier différemment le nom de leur pays, vos statistiques seront donc faussées.

Grande-Bretagne pourrait être écrit Great Britain, Grande Bretagne, Royaume-Uni, United Kingdom…Certains Québécois écriront Québec et d’autres Canada. Si le nombre de membres est important, la base deviendra difficile à gérer. Les clés étrangères sont une solution.


Aucun commentaire:

Enregistrer un commentaire