Utiliser plus d’une table
La table animaux contient la liste des animaux que vous avez. Vous pourriez vouloir enregistrer d’autres informations à leur sujet, telles que des évènements de leur vie, comme les visites chez le vétérinaire, ou les dates des portées de petits : vous avez besoin d’une autre table. A quoi va t elle ressembler ?
Elle va devoir contenir les noms des animaux, pour savoir à qui c’est arrivé.
Il faut une date pour l’événement.
Il faut un champs de description des événements
Il faut aussi un champs de catégorie d’événement.
Avec ces indications, la requête de CREATE TABLE va ressembler à ceci : mysql> CREATE TABLE event (nom VARCHAR(20), date DATE, -> type VARCHAR(15), remark VARCHAR(255)); Comme pour la table animaux table, il est plus facile de charger les premières valeurs à partir d’un fichier, dont les champs sont délimités avec des tabulations : Chargez les informations comme ceci : mysql> LOAD DATA LOCAL INFILE « event.txt » INTO TABLE event; Etant donné ce que vous avez appris avec les requêtes sur la table animaux table, vous devriez être capable d’exécuter des requêtes sur la table event; les principes sont les mêmes. Mais la table event pourrait se révéler insuffisante pour répondre à vos questions. Supposons que vous voulez avoir l’age des animaux lorsqu’ils ont eu leur portée. La table event indique quand ils ont eu leur portée, mais pour calculer l’age de la mère, il faut aussi sa date de naissance. Etant donné que cette date est stockée dans la table animaux, vous avez besoin des deux tables dans la même requête : mysql> SELECT animaux.nom, (TO_DAYS(date) – TO_DAYS(naissance))/365 AS age, remarque -> FROM animaux, event -> WHERE animaux.nom = event.nom AND type = « portée »;
us avez des manual_toc sur une table, SHOW manual_toc FROM tbl_nom fournit la liste des informations les concernant.
Utiliser mysql en mode batch
Dans les sections précédentes, vous avez utilisé mysql de manière interactive pour entrer des requête et voir les résultats. Vous pouvez aussi utiliser mysql en mode batch. Pour cela, il faut mettre les commandes que vous souhaitez exécuter dans un fichier, puis indiquez à mysql qu’il faut l’utiliser comme fichier d’entrée. shell> mysql < batch-file Si vous devez préciser des paramètres de connexions sur la ligne de commande, elle peut ressembler à ceci : shell> mysql -h host -u user -p < batch-file Enter password: ******** Quand vous utilisez mysql de cette façon, vous créez un fichier de script, puis exécutez ce script. Pourquoi utiliser un script ? Voici quelques réponses : Si vous exécutez une requête de manière régulière (par exemple, tous les jours, toutes les semaines), utiliser un script vous évitera de tout retaper à la main à chaque fois. Vous pouvez générer de nouvelles requêtes à partir d’autre requête déjà existantes, en utilisant le copier/coller. Le mode batch peut être pratique lorsque vous développez des requêtes de plusieurs lignes, ou des séquences de requêtes. A chaque erreur, vous n’avez pas tout à retaper, mais juste la commande erronée. Il suffit pour ca d’éditer le script, et de le faire ré exécuter. Si une requête génère beaucoup d’informations, vous pouvez les voir avec un outil adapté, plutôt que de les regarder simplement défiler sur l’écran. shell> mysql < batch-file | more Vous pouvez enregistrer les résultats dans un fichier pour les retraiter ailleurs shell> mysql < batch-file > mysql.out
Vous pouvez distribuer le script à d’autres personnes, pour qu’ils puissent exécuter ces commandes aussi.
Certaines utilisations n’autorisent pas l’utilisation interactif, comme par exemple, la commande cron. Dans ce cas, il faut utiliser le mode batch.