8.2 Soumettre une requête
Assurez vous que vous êtes correctement connecté. Dans le cas contraire, reportez vous à la section précédente. Ce faisant, vous ne vous êtes en fait connecté à aucune base de données, mais c'est bien comme ça. A ce stade ; il est important de savoir comment envoyer une requête, avant de savoir créer une table, charger des données, et interroger la base. Cette section décrit les principes de base de saisie des commandes, en utilisant des commandes qui vous familiariseront avec le fonctionnement de Voici une commande simple qui demande au serveur la version et la date courante. Saisissez la comme ci-dessous, puis appuyez sur la touche entrée. mysql> SELECT VERSION(), CURRENT_DATE; +--------------+--------------+ | version() | CURRENT_DATE | +--------------+--------------+ | 3.22.20a-log | 1999-03-19 | +--------------+--------------+ 1 row in set (0.01 sec) mysql>
Cette première requête montre beaucoup de caractéristiques de
Une commande consiste généralement d'une commande SQL, suivie d'un point-virgule (Il y a quelques exceptions, ou les point-virgules ne sont pas nécessaires, comme la commande
Quand une requête a été saisie,
Par un souci de concision, la ligne ``rows in set'' ne sera plus affichée dans les exemples ultérieurs. Les mots clés du langage peuvent être en majuscule ou minuscule, au choix. Les lignes suivantes sont équivalentes : mysql> SELECT VERSION(), CURRENT_DATE; mysql> select version(), current_date; mysql> SeLeCt vErSiOn(), current_DATE;
Voici une autre requête qui montre que mysql> SELECT SIN(PI()/4), (4+1)*5; +-------------+---------+ | SIN(PI()/4) | (4+1)*5 | +-------------+---------+ | 0.707107 | 25 | +-------------+---------+ Les commandes que nous venons de voir sont relativement courtes, et tiennent sur une seule ligne. Il est possible de saisir plusieurs commandes sur une seule ligne, il suffit de toujours les terminer par des points-virgules. mysql> SELECT VERSION(); SELECT NOW(); +--------------+ | version() | +--------------+ | 3.22.20a-log | +--------------+ +---------------------+ | NOW() | +---------------------+ | 1999-03-19 00:15:33 | +---------------------+
Une commande n'est pas obligatoirement sur une seule ligne : les commandes les plus longues peuvent tenir sur plusieurs lignes. Ce n'est pas un problème, car Voici une commande simple, et multi-lignes : mysql> SELECT -> USER() -> , -> CURRENT_DATE; +--------------------+--------------+ | USER() | CURRENT_DATE | +--------------------+--------------+ | joesmith@localhost | 1999-03-18 | +--------------------+--------------+
Dans cet exemples, vous avez pu remarquer que l'invite passe de Pour annuler une commande qui est partiellement saisie, il suffit de taper '\c' (slash-c) mysql> SELECT -> USER() -> \c mysql>
Ici, l'invite de commande reprend son aspect initial. Cela indique que La table suivante montre les différentes formes de l'invite de commande, et sa signification :
Une commande peut s'étendre sur plusieurs lignes si, par accident, vous oubliez de terminer votre ligne par un point-virgule. Dans ce cas, mysql> SELECT USER() ->
Si cela vous arrive (vous pensez avoir entré une commande, mais la seule réponse est cette désespérante invite mysql> SELECT USER() -> ; +--------------------+ | USER() | +--------------------+ | joesmith@localhost | +--------------------+
Les formes mysql> SELECT * FROM my_table WHERE nom = "Smith AND age < 30; ">
Si vous saisissez cette commande
A ce moment, que faire ? La chose la plus simplet d'annuler la commande. Cependant, vous ne pouvez pas taper mysql> SELECT * FROM my_table WHERE nom = "Smith AND age < 30; "> "\c mysql>
L'invite de commande redevient
Il est important que les invites de commande de la forme signifie |