


Tutoriel de démarrage MySQL 2 - Saisir une requête et quitter des commandes de requête
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>
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 | +------------------+---------+
1 row in set (0.02 sec)
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)
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 | +---------------+--------------+
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>
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 :
|
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() ->
如果出现这种情况(你认为输完了语句,但是只有一个->提示符响应),很可能mysql正在等待分号。如果你没有注意到提示符的提示,在意识到你需要做什么之前,你可能会呆坐一会儿。输入一个分号完成语句,mysql将执行:
mysql> SELECT USER() -> ; +---------------+ | USER() | +---------------+ | jon@localhost | +---------------+
在字符串收集期间将出现 '> 和 "> 提示符(提示MySQL正等待字符串的结束)。在MySQL中,可以写由‘'’或‘"’字符括起来的字符串 (例如,'hello'或"goodbye"),并且mysql允许输入跨越多行的字符串。当看到一个 '> 或 "> 提示符时,这意味着已经输入了包含以‘'’或‘"’括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。这显示你粗心地省掉了一个引号字符。例如:
mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30; '>
如果你输入SELECT语句,然后按Enter(回车)键并等待结果,什么都没有出现。不要惊讶,“为什么该查询这么长呢?”,注意">提示符提供的线索。它告诉你mysql期望见到一个未终止字符串的余下部分。(你看见语句中的错误吗?字符串"Smith丢掉了第二个引号。)
走到这一步,你该做什么?最简单的是取消命令。然而,在这种情况下,你不能只是输入\c,因为mysql作为它正在收集的字符串的一部分来解释它!相反,应输入关闭的引号字符(这样mysql知道你完成了字符串),然后输入\c:
mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30; '> '\c mysql>
提示符回到mysql>,显示mysql准备好接受一个新命令了。
`> 提示符类似于 '> 和"> 提示符,但表示你已经开始但没有结束以`> 开始的识别符。
知道'>和">提示符的含义很重要,因为如果你错误地输入一个未终止的字符串,任何后面输入的行将要被mysql忽略--包括包含QUIT的行!这可能令人相当困惑,特别是如果取消当前命令前还不知道你需要提供终止引号。
以上就是MySQL入门教程2 —— 输入查询及退出查询命令的内容,更多相关内容请关注PHP中文网(www.php.cn)!

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

MySQL est un système de gestion de base de données relationnel open source adapté au stockage, à la gestion, à la requête et à la sécurité des données. 1. Il prend en charge une variété de systèmes d'exploitation et est largement utilisé dans les applications Web et autres domaines. 2. Grâce à l'architecture client-serveur et à différents moteurs de stockage, MySQL traite efficacement les données. 3. L'utilisation de base comprend la création de bases de données et de tables, d'insertion, d'interrogation et de mise à jour des données. 4. L'utilisation avancée implique des requêtes complexes et des procédures stockées. 5. Les erreurs courantes peuvent être déboguées par le biais de la déclaration Explication. 6. L'optimisation des performances comprend l'utilisation rationnelle des indices et des instructions de requête optimisées.

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Les mécanismes de verrouillage d'InnoDB incluent des verrous partagés, des verrous exclusifs, des verrous d'intention, des verrous d'enregistrement, des serrures d'écart et des mèches suivantes. 1. Le verrouillage partagé permet aux transactions de lire des données sans empêcher d'autres transactions de lire. 2. Lock exclusif empêche les autres transactions de lire et de modifier les données. 3. Le verrouillage de l'intention optimise l'efficacité de verrouillage. 4. Enregistrement de l'indice de verrouillage d'enregistrement. 5. Écart d'enregistrement de l'indice des verrous de verrouillage de l'espace. 6. Le verrouillage de la touche suivante est une combinaison de verrouillage des enregistrements et de verrouillage de l'écart pour garantir la cohérence des données.

Les principales raisons des mauvaises performances de requête MySQL incluent le non-utilisation d'index, la mauvaise sélection du plan d'exécution par l'optimiseur de requête, la conception de table déraisonnable, le volume de données excessif et la concurrence de verrouillage. 1. Aucun indice ne provoque une requête lente et l'ajout d'index ne peut améliorer considérablement les performances. 2. Utilisez la commande Expliquez pour analyser le plan de requête et découvrez l'erreur Optimizer. 3. Reconstruire la structure de la table et l'optimisation des conditions de jointure peut améliorer les problèmes de conception de la table. 4. Lorsque le volume de données est important, les stratégies de partitionnement et de division de table sont adoptées. 5. Dans un environnement de concurrence élevé, l'optimisation des transactions et des stratégies de verrouillage peut réduire la concurrence des verrous.

Dans l'optimisation de la base de données, les stratégies d'indexation doivent être sélectionnées en fonction des exigences de requête: 1. Lorsque la requête implique plusieurs colonnes et que l'ordre des conditions est fixe, utilisez des index composites; 2. Lorsque la requête implique plusieurs colonnes mais que l'ordre des conditions n'est pas fixe, utilisez plusieurs index mono-colonnes. Les index composites conviennent à l'optimisation des requêtes multi-colonnes, tandis que les index mono-colonnes conviennent aux requêtes à colonne unique.

Pour optimiser la requête lente MySQL, SlowQueryLog et Performance_Schema doivent être utilisées: 1. Activer SlowQueryLog et définir des seuils pour enregistrer la requête lente; 2. Utilisez Performance_schema pour analyser les détails de l'exécution de la requête, découvrir les goulots d'étranglement des performances et optimiser.

MySQL et SQL sont des compétences essentielles pour les développeurs. 1.MySQL est un système de gestion de base de données relationnel open source, et SQL est le langage standard utilisé pour gérer et exploiter des bases de données. 2.MySQL prend en charge plusieurs moteurs de stockage via des fonctions de stockage et de récupération de données efficaces, et SQL termine des opérations de données complexes via des instructions simples. 3. Les exemples d'utilisation comprennent les requêtes de base et les requêtes avancées, telles que le filtrage et le tri par condition. 4. Les erreurs courantes incluent les erreurs de syntaxe et les problèmes de performances, qui peuvent être optimisées en vérifiant les instructions SQL et en utilisant des commandes Explication. 5. Les techniques d'optimisation des performances incluent l'utilisation d'index, d'éviter la numérisation complète de la table, d'optimiser les opérations de jointure et d'améliorer la lisibilité du code.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.