Mysql
 sql >> Base de données >  >> RDS >> Mysql

Principales requêtes MySQL courantes

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.