MySQL Instruction SELECT avec exemples
Qu'est-ce que la requête SELECT dans MySQL?
SELECT QUERY est utilisé pour récupérer les données du MySQL base de données. Les bases de données stockent des données pour une récupération ultérieure. Le but de MySQL Select consiste à renvoyer, à partir des tables de la base de données, une ou plusieurs lignes correspondant à un critère donné. La requête de sélection peut être utilisée dans un langage de script comme PHP, Ruby, ou vous pouvez l'exécuter via l'invite de commande.
Syntaxe de l'instruction SQL SELECT
Il s'agit de la commande SQL la plus fréquemment utilisée et présente la syntaxe générale suivante
SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
ICI
- SELECT est le mot clé SQL qui permet à la base de données de savoir que vous souhaitez récupérer des données.
- [DISTINC | TOUS] sont des mots-clés facultatifs qui peuvent être utilisés pour affiner les résultats renvoyés par l'instruction SQL SELECT. Si rien n’est spécifié, ALL est considéré comme la valeur par défaut.
- {*| [fieldExpression [AS nouveauNom]} au moins une partie doit être spécifiée, « * » a sélectionné tous les champs du nom de table spécifié, fieldExpression effectue certains calculs sur les champs spécifiés, comme l'ajout de nombres ou la réunion de deux champs de chaîne en un seul.
- De tableName est obligatoire et doit contenir au moins une table, plusieurs tables doivent être séparées par des virgules ou jointes à l'aide du mot-clé JOIN.
- OÙ La condition est facultative, elle peut être utilisée pour spécifier des critères dans le jeu de résultats renvoyé par la requête.
- PAR GROUPE est utilisé pour rassembler des enregistrements ayant les mêmes valeurs de champ.
- AYANT La condition est utilisée pour spécifier des critères lorsque vous travaillez à l'aide du mot-clé GROUP BY.
- COMMANDÉ PAR est utilisé pour spécifier l’ordre de tri de l’ensemble de résultats.
*
Le symbole étoile est utilisé pour sélectionner toutes les colonnes du tableau. Un exemple d'instruction SELECT simple ressemble à celui présenté ci-dessous.
SELECT * FROM `members`;
L'instruction ci-dessus sélectionne tous les champs de la table des membres. Le point-virgule est une fin d'instruction. Ce n'est pas obligatoire mais c'est considéré comme une bonne pratique de terminer vos déclarations ainsi.
Exemples pratiques
Cliquer pour télécharger la base de données myflix utilisée pour des exemples pratiques.
Vous pouvez apprendre à importer le fichier .sql dans MySQL Table de travail
Les exemples sont réalisés sur les deux tableaux suivants
Tableau 1: membres table
numéro de membre | noms complets | le sexe | date de naissance | adresse physique | adresse postale | numéro de contact | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | femme | 21-07-1980 | Terrain de la première rue n° 4 | Sac privé | 0759 253 542 | janetjones@yagoo.cm |
2 | Janet Smith Jones | femme | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
3 | Robert Phil | Masculin | 12-07-1989 | 3e rue 34 | NULL | 12345 | rm@tstreet.com |
4 | Gloria Williams | femme | 14-02-1984 | 2e rue 23 | NULL | NULL | NULL |
Tableau 2: films table
id_film | titre | Directeur | année_sortie | id_catégorie |
---|---|---|---|---|
1 | Pirates des Caraïbes 4 | Rob Marshall | 2011 | 1 |
2 | Oublier Sarah Marshal | Nicolas Stoller | 2008 | 2 |
3 | X Men | NULL | 2008 | NULL |
4 | Nom de code Noir | Edgar Jimz | 2010 | NULL |
5 | Les petites filles à papa | NULL | 2007 | 8 |
6 | anges et démons | NULL | 2007 | 6 |
7 | Le code de De Vinci | NULL | 2007 | 6 |
9 | Honey lunaires | Jean Schultz | 2005 | 8 |
16 | 67% Coupable | NULL | 2012 | NULL |
Obtenir la liste des membres
Supposons que nous souhaitions obtenir une liste de tous les membres de bibliothèque enregistrés à partir de notre base de données, nous utiliserions le script ci-dessous pour ce faire.
SELECT * FROM `members`;
Exécuter le script ci-dessus dans MySQL L'établi produit les résultats suivants.
numéro de membre | noms complets | le sexe | date de naissance | adresse physique | adresse postale | numéro de contact | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | femme | 21-07-1980 | Terrain de la première rue n° 4 | Sac privé | 0759 253 542 | janetjones@yagoo.cm |
2 | Janet Smith Jones | femme | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
3 | Robert Phil | Masculin | 12-07-1989 | 3e rue 34 | NULL | 12345 | rm@tstreet.com |
4 | Gloria Williams | femme | 14-02-1984 | 2e rue 23 | NULL | NULL | NULL |
Notre requête ci-dessus a renvoyé toutes les lignes et colonnes de la table des membres.
Disons que nous souhaitons uniquement obtenir uniquement les champs nom_complet, sexe, adresse_physique et adresse e-mail. Le script suivant nous aiderait à y parvenir.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Exécuter le script ci-dessus dans MySQL L'établi produit les résultats suivants.
noms complets | le sexe | adresse physique | |
---|---|---|---|
Janet Jones | femme | Terrain de la première rue n° 4 | janetjones@yagoo.cm |
Janet Smith Jones | femme | Melrose 123 | jj@fstreet.com |
Robert Phil | Masculin | 3e rue 34 | rm@tstreet.com |
Gloria Williams | femme | 2e rue 23 | NULL |
Obtenir la liste des films
N'oubliez pas dans notre discussion ci-dessus que nous mentionnons les expressions utilisées dans les instructions SELECT. Disons que nous voulons obtenir une liste de films de notre base de données. Nous voulons avoir le titre du film et le nom du réalisateur dans un seul champ. Le nom du réalisateur du film doit être entre parenthèses. Nous voulons également connaître l’année de sortie du film. Le script suivant nous aide à le faire.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
ICI
- Le Concat () MySQL la fonction est utilisée pour joindre les valeurs des colonnes ensemble.
- La ligne « Concat (`title`, ' (', `director`, ')') récupère le titre, ajoute une parenthèse ouvrante suivie du nom du réalisateur puis ajoute la parenthèse fermante.
Les portions de chaîne sont séparées par des virgules dans la fonction Concat().
Exécuter le script ci-dessus dans MySQL Workbench produit l'ensemble de résultats suivant.
Concat(`titre`, ' (', `directeur`, ')') | année_sortie |
---|---|
Pirates des Caraïbes 4 (Rob Marshall) | 2011 |
Oublier Sarah Marshal (Nicholas Stoller) | 2008 |
NULL | 2008 |
Nom de code Noir (Edgar Jimz) | 2010 |
NULL | 2007 |
NULL | 2007 |
NULL | 2007 |
Honey les lunaires (John Schultz) | 2005 |
NULL | 2012 |
Noms des champs d'alias
L'exemple ci-dessus a renvoyé le code de concaténation comme nom de champ pour nos résultats. Supposons que nous souhaitions utiliser un nom de champ plus descriptif dans notre jeu de résultats. Nous utiliserions le nom d’alias de colonne pour y parvenir. Voici la syntaxe de base du nom d'alias de colonne
SELECT `column_name|value|expression` [AS] `alias_name`;
ICI
- « SELECT `nom_colonne|valeur|expression `” est l'instruction SELECT régulière qui peut être un nom de colonne, une valeur ou une expression.
- "[COMME]" est le mot-clé facultatif avant le nom d'alias qui désigne l'expression, la valeur ou le nom du champ qui sera renvoyé sous la forme.
- "`nom_alias`" est le nom d'alias que nous souhaitons renvoyer dans notre jeu de résultats en tant que nom de champ.
La requête ci-dessus avec un nom de colonne plus significatif
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
On obtient le résultat suivant
Concaténer | année_sortie |
---|---|
Pirates des Caraïbes 4 (Rob Marshall) | 2011 |
Oublier Sarah Marshal (Nicholas Stoller) | 2008 |
NULL | 2008 |
Nom de code Noir (Edgar Jimz) | 2010 |
NULL | 2007 |
NULL | 2007 |
NULL | 2007 |
Honey les lunaires (John Schultz) | 2005 |
NULL | 2012 |
Obtenir la liste des membres indiquant l'année de naissance
Supposons que nous souhaitions obtenir une liste de tous les membres indiquant le numéro de membre, les noms complets et l'année de naissance, nous pouvons utiliser la fonction de chaîne GAUCHE pour extraire l'année de naissance du champ date de naissance. Le script ci-dessous nous aide à le faire.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
ICI
- "GAUCHE(`date_of_birth`,4)" le Fonction de chaîne GAUCHE accepte la date de naissance comme paramètre et ne renvoie que 4 caractères en partant de la gauche.
- « COMME `année_de_naissance` » est le nom d'alias de colonne qui sera renvoyé dans nos résultats. Noter la Le mot-clé AS est facultatif, vous pouvez le laisser de côté et la requête fonctionnera toujours.
Exécution de la requête ci-dessus dans MySQL workbench contre myflixdb nous donne les résultats présentés ci-dessous.
numéro de membre | noms complets | année de naissance |
---|---|---|
1 | Janet Jones | 1980 |
2 | Janet Smith Jones | 1980 |
3 | Robert Phil | 1989 |
4 | Gloria Williams | 1984 |
Utilisation de SQL MySQL Workbench
Nous allons maintenant utiliser MySQL workbench pour générer le script qui affichera tous les noms de champs de notre table de catégories.
1. Cliquez avec le bouton droit sur le tableau des catégories. Cliquez sur « Sélectionner les lignes – Limite de 1000 »
2. MySQL Workbench créera automatiquement une requête SQL et la collera dans l'éditeur.
3. Les résultats de la requête seront affichés
Notez que nous n'avons pas écrit l'instruction SELECT nous-mêmes. MySQL Workbench l'a généré pour nous.
Pourquoi utiliser la commande SELECT SQL alors que nous avons MySQL Table de travail?
Maintenant, vous vous demandez peut-être pourquoi apprendre la commande SQL SELECT pour interroger les données de la base de données alors que vous pouvez simplement utiliser un outil tel que MySQL workbench pour obtenir les mêmes résultats sans connaissance du langage SQL. Bien sûr, c'est possible, mais apprendre à utiliser la commande SELECT vous donne plus la flexibilité et mes des bactéries sur votre Instructions SQL SELECT.
MySQL l'établi entre dans la catégorie des « Requête par exemple» Outils QBE. Il est destiné à aider à générer des instructions SQL plus rapidement afin d'augmenter la productivité des utilisateurs.
L'apprentissage de la commande SQL SELECT peut vous permettre de créer requêtes complexes qui ne peuvent pas être facilement générés à l'aide d'utilitaires de requête par exemple tels que MySQL Table de travail.
Pour améliorer la productivité, vous pouvez générer le code en utilisant MySQL établi puis personnaliser à répondre à vos exigences. Cela ne peut se produire que si vous comprenez comment fonctionnent les instructions SQL !
Résumé
- Le mot clé SQL SELECT est utilisé pour interroger les données de la base de données et c'est la commande la plus couramment utilisée.
- La forme la plus simple a la syntaxe « SELECT * FROM tableName ; »
- Les expressions peuvent également être utilisées dans l'instruction select . Exemple « SELECT quantité + prix FROM Sales »
- La commande SQL SELECT peut également avoir d'autres paramètres facultatifs tels que WHERE, GROUP BY, HAVING, ORDER BY. Ils seront discutés plus tard.
- MySQL Workbench peut aider à développer des instructions SQL, à les exécuter et à produire le résultat de sortie dans la même fenêtre.