Maison > base de données > tutoriel mysql > Tutoriel de démarrage MySQL 2 - Saisir une requête et quitter des commandes de requête

Tutoriel de démarrage MySQL 2 - Saisir une requête et quitter des commandes de requête

黄舟
Libérer: 2017-02-23 11:26:13
original
1425 Les gens l'ont consulté

Assurez-vous que vous êtes connecté au serveur, comme indiqué dans la section précédente. La connexion au serveur ne sélectionne aucune base de données, mais ce n'est pas grave. Connaître les bases de l'interrogation est plus important que de se lancer directement dans la création de tables, de les charger avec des données et d'en récupérer des données. Cette section décrit les principes de base de la saisie des commandes. À l'aide de quelques requêtes, vous pouvez essayer de comprendre le fonctionnement de mysql.

Il s'agit d'une commande simple qui demande au serveur de lui indiquer son numéro de version et sa date actuelle. Entrez la commande suivante à l'invite mysql> et appuyez sur Entrée :

mysql> SELECT VERSION(), CURRENT_DATE; +-----------------+--------------+
| VERSION()       | CURRENT_DATE |
+-----------------+--------------+
| 5.1.2-alpha-log | 2005-10-11   |
+-----------------+--------------+
1 row in set (0.01 sec)
mysql>
Copier après la connexion

Cette requête explique plusieurs aspects de mysql :

· Une commande consiste généralement en un SQL instruction composée, suivie d'un point-virgule. (Il existe quelques exceptions qui ne nécessitent pas de point-virgule. Le QUIT mentionné précédemment est un exemple. Nous verrons d'autres exemples plus tard.)

· Lorsqu'une commande est émise, mysql enverra au serveur et affichez les résultats de l'exécution, puis affichez un autre mysql> pour montrer qu'il est prêt à accepter d'autres commandes.

· mysql affiche le résultat de la requête dans un tableau (lignes et colonnes). La première ligne contient les étiquettes des colonnes et les lignes suivantes sont les résultats de la requête. En règle générale, l'étiquette de la colonne est le nom de la colonne que vous extrayez de la table de la base de données. Si vous récupérez une expression plutôt que la valeur d'une colonne de tableau (comme dans l'exemple précédent), mysql marque la colonne avec l'expression elle-même.

· mysql montre combien de lignes ont été renvoyées et combien de temps la requête a pris, ce qui vous donne une idée générale des performances du serveur. Parce qu'elles représentent l'heure de l'horloge (et non le temps du processeur ou de la machine) et parce qu'elles sont affectées par des facteurs tels que la charge du serveur et la latence du réseau, ces valeurs sont imprécises. (Par souci de concision, les « lignes de la collection » ne sont plus affichées dans les autres exemples de ce chapitre.)

Possibilité de saisir des mots-clés en majuscules et en minuscules (insensible à la casse). Les requêtes suivantes sont équivalentes :

mysql> SELECT VERSION(), CURRENT_DATE; mysql> select version(), current_date; mysql> SeLeCt vErSiOn(), current_DATE; 这是另外一个查询,它说明你能将mysql用作一个简单的计算器:
mysql> SELECT SIN(PI()/4), (4+1)*5; +------------------+---------+
| SIN(PI()/4)      | (4+1)*5 |
+------------------+---------+
| 0.70710678118655 |      25 |
+------------------+---------+
Copier après la connexion
1 row in set (0.02 sec)
Copier après la connexion

Les commandes affichées jusqu'à présent sont des instructions assez courtes sur une seule ligne. Vous pouvez saisir plusieurs instructions sur une seule ligne en séparant chaque instruction par un point-virgule :

mysql> SELECT VERSION(); SELECT NOW(); +-----------------+
| VERSION()       |
+-----------------+
| 5.1.2-alpha-log |
+-----------------+
1 row in set (0.00 sec)

+---------------------+
| NOW()               |
+---------------------+
| 2005-10-11 15:15:00 |
+---------------------+
1 row in set (0.00 sec)
Copier après la connexion

Il n'est pas nécessaire de donner une commande sur une seule ligne. Des commandes plus longues peuvent être saisies sur plusieurs lignes. mysql détermine où se termine une instruction en recherchant le point-virgule final plutôt que la fin de la ligne d'entrée. (En d'autres termes, mysql accepte les entrées de forme libre : il collecte les lignes d'entrée mais ne s'exécute que lorsqu'il voit un point-virgule.)

Voici un exemple d'instruction multiligne simple :

mysql> SELECT     -> USER()     -> , -> CURRENT_DATE; +---------------+--------------+
| USER()        | CURRENT_DATE |
+---------------+--------------+
| jon@localhost | 2005-10-11   |
+---------------+--------------+
Copier après la connexion

Dans cet exemple, après avoir entré la première ligne de la requête multiligne, remarquez comment l'invite passe de mysql> à ->, ce qui correspond exactement à la façon dont mysql pointe Je n'ai pas vu la déclaration complète et j'attends le reste. L'invite est votre amie car elle fournit des commentaires précieux, et si vous l'utilisez, vous saurez toujours ce que mysql attend.

Si vous décidez que vous ne souhaitez pas exécuter une commande en cours de saisie, saisissez c pour l'annuler :

mysql> SELECT     -> USER()     -> \c mysql>
Copier après la connexion

Faites également attention à l'invite ici après avoir entré c. , il revient à mysql>, fournit un retour pour indiquer que mysql est prêt à accepter une nouvelle commande.

Le tableau suivant montre les différentes invites qui peuvent être vues et décrit brièvement l'état de mysql qu'elles représentent :

提示符含义
mysql>准备好接受新命令。
->等待多行命令的下一行。
'>等待下一行,等待以单引号(“'”)开始的字符串的结束。
">等待下一行,等待以双引号(“"”)开始的字符串的结束。
`>等待下一行,等待以反斜点(‘`’)开始的识别符的结束。
/*>等待下一行,等待以/*开始的注释的结束。
Invite<🎜>
<🎜>Signification<🎜>
mysql> ; Prêt pour de nouvelles commandes.
->Attendez la ligne suivante d'une commande multiligne.
'>Attendez la ligne suivante et la fin de la chaîne commençant par un guillemet simple ("'") .
">Attendez la ligne suivante et la fin de la chaîne commençant par des guillemets doubles (""").
`>Attendez la ligne suivante en attendant la fin de l'identifiant commençant par un point antislash ('` ').
/*>Attendez la ligne suivante et la fin du commentaire commençant par /*.

当你打算在一个单行上发出一个命令时,通常会“偶然”出现多行语句,但是没有终止分号。在这种情况中,mysql等待进一步输入:

mysql> SELECT USER()     ->
Copier après la connexion

如果出现这种情况(你认为输完了语句,但是只有一个->提示符响应),很可能mysql正在等待分号。如果你没有注意到提示符的提示,在意识到你需要做什么之前,你可能会呆坐一会儿。输入一个分号完成语句,mysql将执行:

mysql> SELECT USER()    -> ; +---------------+
| USER()        |
+---------------+
| jon@localhost |
+---------------+
Copier après la connexion

在字符串收集期间将出现 '> 和 "> 提示符(提示MySQL正等待字符串的结束)。在MySQL中,可以写由‘'’或‘"’字符括起来的字符串 (例如,'hello'或"goodbye"),并且mysql允许输入跨越多行的字符串。当看到一个 '> 或 "> 提示符时,这意味着已经输入了包含以‘'’或‘"’括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。这显示你粗心地省掉了一个引号字符。例如:

mysql> SELECT * FROM my_table WHERE name = &#39;Smith AND age < 30;     &#39;>
Copier après la connexion

如果你输入SELECT语句,然后按Enter(回车)键并等待结果,什么都没有出现。不要惊讶,“为什么该查询这么长呢?”,注意">提示符提供的线索。它告诉你mysql期望见到一个未终止字符串的余下部分。(你看见语句中的错误吗?字符串"Smith丢掉了第二个引号。)

走到这一步,你该做什么?最简单的是取消命令。然而,在这种情况下,你不能只是输入\c,因为mysql作为它正在收集的字符串的一部分来解释它!相反,应输入关闭的引号字符(这样mysql知道你完成了字符串),然后输入\c:

mysql> SELECT * FROM my_table WHERE name = &#39;Smith AND age < 30;     &#39;> '\c mysql>
Copier après la connexion

提示符回到mysql>,显示mysql准备好接受一个新命令了。

`> 提示符类似于 '> 和"> 提示符,但表示你已经开始但没有结束以`> 开始的识别符。

知道'>和">提示符的含义很重要,因为如果你错误地输入一个未终止的字符串,任何后面输入的行将要被mysql忽略--包括包含QUIT的行!这可能令人相当困惑,特别是如果取消当前命令前还不知道你需要提供终止引号。

 以上就是MySQL入门教程2 —— 输入查询及退出查询命令的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)! 


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal