Les requêtes MySQL sont généralement écrites une seule fois, puis enveloppées dans des fonctions de classe pour minimiser la répétition du code. Cet article liste les 10 requêtes les plus utilisées dans MySQL.
Une requête est essentiellement une demande d'informations à extraire d'une table de base de données ou d'une combinaison de tables. Il existe de nombreux langages de requête qui peuvent être écrits pour effectuer une gamme de requêtes simples à complexes. Les requêtes filtreront certains critères en fonction des données spécifiques qu'il est demandé de trouver. Il peut également automatiser les tâches de gestion des données et effectuer des calculs. Ce guide traite des 10 requêtes MySQL les plus courantes.
Utilisons ces bases de données de démonstration pour mieux comprendre le fonctionnement de chaque requête.
ID d'employé | Nom | Titre |
---|---|---|
1002 | Webster W. | Exécutif |
1003 | Lizzy S. | Gestionnaire |
1004 | Oliver T. | Ingénieur logiciel |
ID d'employé | Département | Âge |
---|---|---|
1002 | RH | 36 |
1003 | Ventes | 21 |
1004 | informatique | 39 |
SÉLECTIONNER TOUT
Une simple requête SELECT est utilisée pour récupérer et renvoyer toutes les données provenant d'une base de données. Sa syntaxe peut être écrite comme telle ;
Code :
SELECT * FROM Employees;
Résultat :
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer
Afin de sélectionner toutes les colonnes disponibles dans le tableau, vous devez utiliser « * » pour indiquer que vous avez besoin de toutes les informations possibles renvoyées. Deuxièmement, indiquez le mot-clé FROM afin de recevoir les données de la table de la base de données. Enfin, n'oubliez pas de toujours terminer votre déclaration par un point-virgule ";" pour compléter correctement la demande.
SÉLECTIONNER la colonne
Pour obtenir des données de colonne(s) spécifique(s) et pas tout, vous voulez simplement indiquer le nom du champ au lieu d'utiliser l'astérisque (*).
Code :
SELECT Title FROM Employees;
Résultat :
Title Executive Manager Software Engineer
Lorsque vous sélectionnez plusieurs colonnes dans une base de données, elles doivent être séparées par une virgule. Comme ça ;
SELECT Title, Name FROM Employees;
Clause WHERE
Lors de l'utilisation de la clause WHERE dans une requête SELECT, les enregistrements de données seront filtrés, puis extrairont les enregistrements qui correspondent à la ou aux conditions en tant que résultat.
Code :
SELECT * FROM Employees WHERE EmployeeID = 1004 ;
Résultats :
1004 Oliver T. Software Engineer
La clause WHERE peut avoir plusieurs conditions qui peuvent être séparées à l'aide du mot-clé AND.
CRÉER un tableau
Cette requête peut être utilisée pour générer une nouvelle table avec votre choix de colonnes préféré. Lorsque vous ajoutez des noms de colonne, assurez-vous de spécifier leur type de données.
Code :
CREATE TABLE EmployeeInfo ( EmployeeId INT, Department VARCHAR(25), Age NUMBER );
Résultats attendus du tableau :
EmployeeID | Department | Department |
NULL | NULL | NULL |
Une fois que vous avez exécuté la commande CREATE TABLE et que vous l'avez remplie avec des titres de colonne, la requête ci-dessus crée une table "EmployeeInfo" dans la base de données. Essentiellement, chaque colonne renverra NULL car nous n'avons inséré aucune valeur particulière. Cela nous amène à notre requête suivante, INSERT INTO.
INSÉRER DANS la requête
Il s'agit de la requête la plus courante pour insérer des valeurs dans une ou plusieurs lignes de nouveaux enregistrements dans une table. Nous pouvons remplir la table EmployeeInfo avec quelques exemples de données ;
Code :
INSERT INTO EmployeeInfo (EmployeeID,Department,Age) VALUES (1002, HR , 46), (1003, Finance , 28), (1004, IT , 39);
Résultats du tableau :
Informations sur l'employé
EmployeeID | Department | Age |
1002 | HR | 46 |
1003 | Finance | 28 |
1004 | IT | 39 |
Lors de l'écriture d'une requête INSERT INTO, la commande VALUES doit faire partie de l'instruction complete.
Requête de mise à jour
Ce mot-clé est utilisé pour modifier une ou plusieurs colonnes existantes dans une table. L'utilisation de cette requête mettra à jour les enregistrements de table avec de nouvelles données basées sur certaines conditions.
Informations sur l'employé
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 21 |
1004 | IT | 39 |
Code :
UPDATE EmployeeInfo SET Age = 22 WHERE EmployeeID = 1003;
Résultats du tableau :
Informations sur l'employé
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 22 |
1004 | IT | 39 |
Après la commande UPDATE, utilisez le mot-clé SET pour toujours spécifier la ou les colonnes que vous choisissez de modifier, puis indiquez exactement OÙ vous avez besoin d'appliquer les données mises à jour.
SUPPRIMER DE LA REQUETE
Pour supprimer des enregistrements d'une table en fonction d'une ou de plusieurs conditions, vous devez utiliser l'instruction DELETE FROM. Lors de l'utilisation de conditions, cela limite le nombre de lignes affectées par la requête.
Code :
DELETE FROM Employees WHERE Name = ‘Lizzy’;
Résultats du tableau :
Employés
EmployeeID | Name | Title |
1002 | Webster W. | Executive |
1004 | Oliver T. | Software Engineer |
Comme précédemment couvert dans l'article; l'utilisation de la condition WHERE détermine exactement où vous demandez que les données soient filtrées et exécutées. Cette requête consiste à supprimer tous les enregistrements de la table des employés qui correspondent au nom "Lizzy".
Utilisation de la clause GROUP BY, HAVING
La clause GROUP BY est généralement toujours utilisée avec les fonctions d'agrégation. L'utilisation de ce mot-clé regroupera l'ensemble de résultats sur une ou plusieurs colonnes.
Le mot-clé HAVING est utilisé pour filtrer cet ensemble de résultats. Idéalement, on pourrait penser qu'une clause WHERE serait mise en place à la place cependant, la clause HAVING introduit une condition sur les agrégations.
Informations sur l'employé
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 21 |
1004 | IT | 39 |
Code :
SELECT COUNT(Age), EmployeeID FROM EmployeeInfo GROUP BY EmployeeID HAVING COUNT(Age) > 21;
Résultats :
COUNT(Age) EmployeeID 39 1004 36 1002
Fonctions d'agrégation (SUM, AVG &COUNT)
Il existe trois fonctions d'agrégation extrêmement courantes qui permettent d'interpréter les données d'une table ou d'exécuter des calculs.
- COUNT :renvoie le nombre de lignes correspondant à une colonne spécifiée.
- AVG : renvoie la valeur moyenne d'une colonne
- SUM :renvoie la somme de toutes les valeurs d'une colonne sélectionnée.
InfosEmployé
Identifiant de l'employé | Département | Âge |
1002 | RH | 36 |
1003 | Ventes | 21 |
1004 | informatique | 39 |
Code pour COUNT :
SELECT COUNT(Department) FROM EmployeeInfo;
Résultats :
COUNT(Department): 3
Code pour AVG :
SELECT AVG(Age) FROM EmployeeInfo;
Résultats :
AVG(Age): 32
Code pour SOMME
SELECT SUM(Age) FROM EmployeeInfo;
Résultats :
SUM(Age): 96
JOINTS
Les jointures sont utilisées pour rassembler des lignes d'au moins deux tables, en fonction d'une colonne liée entre les tables. Les jointures de pratique les plus courantes sont INNER, FULL et LEFT.
- INNER Join – combine les lignes de différentes tables si la condition de jointure est vraie.
- JOINTURE COMPLÈTE :renvoie toutes les lignes lorsqu'il existe une correspondance dans les enregistrements de table de gauche ou de droite.
- LEFT Join :récupère toutes les lignes de la table de gauche et les enregistrements correspondants de la table de droite.
Employés – Tableau #1(Gauche)
Identifiant de l'employé | Nom | Titre |
1002 | Webster W. | Exécutif |
1003 | Lizzy S. | Gestionnaire |
1004 | Oliver T. | Ingénieur logiciel |
InfoEmployé – Tableau #2(Droite)
Identifiant de l'employé | Département | Âge |
1002 | RH | 36 |
1003 | Ventes | 21 |
1004 | informatique | 39 |
Code de jointure interne :
SELECT Employees.Title, EmployeeInfo.Department FROM Employees INNER JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Résultats :
Title Department Executive HR Manager Sales Software Engineer IT
Code de JOIN COMPLET :
SELECT * FROM Employees FULL JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Résultats :
Récupérera toutes les lignes et colonnes des deux tables, y compris les doublons, et les combinera en une seule table entière.
Code de jointure gauche :
SELECT Employees.Name, EmployeeInfo.Age FROM Employees LEFT JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Résultats :
Name Age Webster W. 36 Lizzy S. 21 Oliver T. 39
La colonne "EmployeeID" dans la table "Employee" fait référence à "EmployeeID" dans la table "EmployeeInfo", indiquant essentiellement que la colonne EmployeeID est la relation entre les deux tables. Les jointures peuvent devenir délicates mais en même temps extrêmement utiles lors du tri dans une base de données plus volumineuse.
L'utilisateur et la base de données sont capables d'échanger des informations avec succès en parlant essentiellement la même langue. Les requêtes répertoriées ci-dessus sont les plus couramment utilisées par les débutants et les experts. L'écriture de requêtes MySQL est considérée comme la fonction la plus fréquente dans le domaine de la gestion de bases de données.
Cet article a été révisé et mis à jour en avril 2022 par Kelsey Perkins.