8.4.1 Creéer une table

Créer une base de données est facile, mais, jusqu'à présent, c'est vide. La commande SHOW TABLES vous dira :

mysql> SHOW TABLES;
Empty set (0.00 sec)

La partie la plus difficile est le choix de la structure de votre base de données, et des tables dont vous aurez besoin, et quelles colonnes seront nécessaires.

Vous pouvez envisager de créer une table qui créera un enregistrement pour chacun de vos animaux. Cette table portera le nom de animaux et devrait contenir au minimum le nom de l'animal. Etant donné que le nom seul n'est pas vraiment intéressant, il faudra qu'il contienne aussi d'autres informations. Par exemple, si plusieurs personnes de votre famille ont des animaux domestiques, vous voudrez garder la liste de chaque maître. Vous voudrez peut être aussi conserver des informations basiques telles que le genre ou la race.

Et l'age ? Cela pourrait être intéressant à conserver, mais ce n'est pas une bonne chose à conserver dans une base de données. En effet, l'age change tous les jours, et il faudrait changer constamment la base de données. Au contraire, il est bien mieux de conserver la date de naissance. Alors, à chaque fois que vous aurez besoins de l'age, il suffira de faire la différence entre la date du jour et la date de naissance. MySQL disposent de puissantes fonctions de calculs sur les dates. Enregistrer la date de naissance plutôt quel l'age a d'autres atouts :

Vous pourrez utiliser la base de données pour garder en mémoire les dates d'anniversaires de vos animaux (Si cela vous semble un peu idiot, remarquez bien que c'est exactement la même chose que de conserver la date d'anniversaire de vos clients, et de leur envoyer cette carte d'anniversaire à la spontanéité toute informatique).

Vous pourrez faire des calculs d'age en relation avec d'autres dates. Par exemple, si vous enregistrer la date de mort, vous pourrez facilement calculer à quel age est mort votre compagnon.

Votre imagination fertile vous permettra sûrement d'imaginer une foule d'informations utiles pour garnir la table animaux , mais les champs que nous venons d'identifier seront suffisant pour l'instant : le nom, le propriétaire, la race, le genre, la date de naissance et celle de mort.

Utilisez maintenant la fonction de création de table pour créer la votre :

mysql> CREATE TABLE animaux (nom VARCHAR(20), proprietaire VARCHAR(20),
    -> espece VARCHAR(20), genre CHAR(1), naissance DATE, mort DATE);

VARCHAR est un bon choix pour le nom, le propriétaire et la race, car ces valeurs auront des longueurs variables. Les longueurs de ces colonnes n'ont pas besoin d'être toutes identiques, ni de valoir 20. Vous pouvez choisir n'importe quelle longueur entre 1 et 255, du moment que cela vous semble approprié (si vous vous trompez , vous pourrez toujours agrandir le champs avec la fonction MySQL : ALTER TABLE ).

Le genre des animaux peu prendre de nombreuses formes, comme par exemple "m" et "f", ou peut être "male" et "femelle". Le plus simple sera d'utiliser les caractères "m" et "f".

L'utilisation du type DATE pour représenter les dates de naissance naissance et de mort mort est un choix évident.

Maintenant que vous avez créer une table, , SHOW TABLES devrait être plus loquace :

mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| animaux                 |
+---------------------+

Pour vérifier que la table a été créée comme vous le désiriez, utilisez la commande DESCRIBE :

mysql> DESCRIBE animaux;
+----------------+-------------+------+-----+---------+-------+
| Field          | Type        | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| nom            | varchar(20) | YES  |     | NULL    |       |
| proprietaire   | varchar(20) | YES  |     | NULL    |       |
| espece         | varchar(20) | YES  |     | NULL    |       |
| genre          | char(1)     | YES  |     | NULL    |       |
| naissance      | date        | YES  |     | NULL    |       |
| mort           | date        | YES  |     | NULL    |       |
+----------------+-------------+------+-----+---------+-------+

Vous pouvez utiliser DESCRIBE à tout moment, par exemple, si vous oubliez les noms de colonnes ou leur type.