Dans les sections précédentes, vous avez utilisé
mysql
inter activement pour entrer vos
requêtes et voir les résultats. Vous pouvez aussi utiliser
mysql
en mode batch. Pour ce faire, placez les
commandes que vous voulez exécuter dans un fichier, puis dites à
mysql
de lire les entrées à partir de
celui-ci :
shell> mysql < fichier-batch
Si vous utilisez mysql
sous Windows et que vous
avez des caractères spéciaux dans le fichier qui posent
problèmes, vous pouvez faire :
dos> mysql -e "source fichier-batch"
Si vous devez spécifier les paramètres de connexion en ligne de commande, la commande ressemblera à ca :
shell> mysql -h hôte -u utilisateur -p < fichier-batch
Enter password: ********
Lorsque vous utilisez mysql
de cette fa¸on,
vous créez un fichier de script, puis vous l'exécutez.
Si vous voulez que le script continue, même si il y a des
erreurs, vous devez utiliser l'option --force
de
la ligne de commande.
Pourquoi utilisez un script ? Voici quelques raisons :
Si vous utilisez une requête de fa¸on répétitive (c'est à dire, chaque jour, ou chaque semaine), en faire un script vous évitera de la réécrire chaque fois.
Vous pouvez générer de nouvelles requêtes à partir de requêtes existantes et similaires en copiant et éditant des fichiers de scripts.
Ce mode peut aussi être utile lors du développement d'une
requête, particulièrement pour les commandes sur plusieurs
lignes ou plusieurs séquences de commandes. Si vous commettez
une erreur, vous n'avez pas à tout récrire. Editez juste
votre script pour corriger l'erreur et dites à
mysql
de l'exécuter à nouveau.
Si vous avez une requête qui produit beaucoup d'affichage, vous pouvez le rediriger vers un visualiseur plutôt que de le regarder défiler sur votre écran :
shell> mysql < fichier-batch | more
Vous pouvez capturer l'affichage dans un fichier pour un traitement ultérieur :
shell> mysql < fichier_batch > mysql.out
Vous pouvez distribuer votre script à d'autres personnes pour qu'elles l'exécutent.
Quelques situations ne permettent pas une utilisation
interactive, par exemple, quand vous exécutez une requête à
partir d'une tâche cron
. Dans ce cas, vous
devez utiliser le mode batch.
Le format d'affichage par défaut est différent (plus concis)
lorsque vous exécutez mysql
en mode batch de
celui utilisé inter activement. Par exemple, le résultat de
SELECT DISTINCT espece FROM animal
ressemble à
¸a inter activement :
+---------+ | espece | +---------+ | oiseau | | chat | | chien | | hamster | | serpent | +---------+
Mais à ¸a en mode batch :
espece oiseau chat chien hamster serpent
Si vous voulez le format d'affichage interactif en mode batch,
utilisez mysql -t
. Pour écrire les commandes
exécutez dans la sortie, utilisez mysql -vvv
.
Vous pouvez aussi utiliser un script à partir de l'invite
mysql
en utilisant la commande
source
:
mysql> source nom_fichier;
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.