MySQL - Requête de Sélection

Salut à toi, futurs magiciens de la base de données ! Aujourd'hui, nous plongeons dans le monde magique des requêtes de sélection MySQL. En tant que votre professeur d'informatique du quartier, je suis là pour vous guider dans cette aventure, étape par étape. Ne vous inquiétez pas si vous n'avez jamais écrit une ligne de code auparavant - nous allons commencer par les bases et progresser pas à pas. Alors, sortez vos baguettes virtuelles (claviers) et mettons-nous au travail !

MySQL - Select Query

Instruction SELECT de MySQL

L'instruction SELECT est comme un sortilège dans le monde MySQL. Il nous permet de récupérer des données de nos tables de base de données. Pensez-y comme si vous demandiez au génie de la base de données d'exaucer votre voeu et de vous montrer les informations dont vous avez besoin.

Voici la structure de base d'une instruction SELECT :

SELECT column1, column2, ...
FROM table_name;

Décomposons cela :

  • SELECT : Ce mot-clé indique à MySQL que vous souhaitez récupérer des données.
  • column1, column2, ... : Ce sont les noms des colonnes que vous souhaitez voir.
  • FROM : Ce mot-clé spécifie à partir de quelle table vous sélectionnez.
  • table_name : C'est le nom de votre table.

Exemple 1 : Sélectionner toutes les colonnes

SELECT * FROM employees;

Cette requête équivaut à dire : "Montre-moi tout dans la table employees !" L'astérisque (*) est un joker qui signifie "toutes les colonnes".

Exemple 2 : Sélectionner des colonnes spécifiques

SELECT first_name, last_name FROM employees;

Cette requête demande poliment : "Pourriez-vous me montrer uniquement les prénoms et noms de famille de la table employees ?"

Récupérer des Données avec SELECT depuis la Ligne de Commande

Maintenant, imaginons que nous sommes des détectives de base de données utilisant la ligne de commande pour interroger notre base de données. Voici comment vous pourriez le faire :

  1. Ouvrez votre invite de commande ou terminal.
  2. Connectez-vous à MySQL (généralement en tapant mysql -u username -p et en saisissant votre mot de passe).
  3. Sélectionnez votre base de données avec USE database_name;.
  4. Vous êtes maintenant prêt à exécuter vos requêtes SELECT !

Exemple 3 : Récupérer des Données avec une Condition

SELECT first_name, last_name FROM employees WHERE department = 'Sales';

Cette requête équivaut à demander : "Qui sont toutes les personnes qui travaillent dans le département des ventes ?" La clause WHERE nous aide à filtrer nos résultats.

Calculer avec SELECT dans la Ligne de Commande

SELECT n'est pas seulement pour récupérer des données - il peut aussi faire des mathématiques ! Explorons un peu de magie arithmétique.

Exemple 4 : Opérations Arithmétiques de Base

SELECT product_name, price, price * 1.1 AS price_with_tax FROM products;

Cette requête calcule le prix avec une taxe de 10 %. Le mot-clé AS crée un alias pour notre nouvelle colonne.

Exemple 5 : Utilisation de Fonctions Intégrées

SELECT CONCAT(first_name, ' ', last_name) AS full_name,
YEAR(CURDATE()) - YEAR(birth_date) AS age
FROM employees;

Cette requête combine les prénoms et noms de famille et calcule les âges. MySQL propose de nombreuses fonctions intégrées comme CONCAT() pour la manipulation de chaînes et des fonctions de date.

Alias d'une Colonne dans l'Instruction SELECT

Donner un alias à une colonne, c'est comme donner un surnom à vos colonnes. C'est utile pour la lisibilité et lors des calculs.

Exemple 6 : Alias Simple

SELECT first_name AS name, email AS contact FROM customers;

Cette requête renomme la colonne 'first_name' en 'name' et 'email' en 'contact' dans les résultats.

Exemple 7 : Alias avec des Expressions

SELECT product_name,
price AS original_price,
price * 0.9 AS discounted_price
FROM products;

Ici, nous affichons le prix original et calculons un prix réduit de 10 % avec des noms de colonnes faciles à comprendre.

Requête SELECT dans une Base de Données MySQL en Utilisant un Programme Client

Bien que la ligne de commande soit parfaite pour des requêtes rapides, de nombreux développeurs préfèrent utiliser des programmes clients pour une expérience plus conviviale. Les choix populaires incluent MySQL Workbench, phpMyAdmin et DBeaver.

Voici comment vous pourriez utiliser un programme client :

  1. Connectez-vous à votre base de données via l'interface du client.
  2. Il y a généralement un éditeur de requêtes où vous pouvez taper votre SQL.
  3. Écrivez votre instruction SELECT et exécutez-la.

Exemple 8 : Utilisation d'une Clause WHERE avec Plusieurs Conditions

SELECT product_name, category, price
FROM products
WHERE category = 'Electronics' AND price < 500;

Cette requête trouve tous les articles électroniques dont le prix est inférieur à 500 $. Dans un programme client, vous verriez généralement les résultats sous forme de tableau.

Exemple 9 : Trier les Résultats

SELECT first_name, last_name, hire_date
FROM employees
ORDER BY hire_date DESC
LIMIT 5;

Cette requête affiche les cinq employés les plus récemment embauchés. La clause ORDER BY trie les résultats, et LIMIT restreint le nombre de lignes retournées.

Table des Méthodes SELECT de MySQL

Voici un tableau pratique résumant certaines des méthodes SELECT courantes :

Méthode Description Exemple
SELECT * Sélectionner toutes les colonnes SELECT * FROM table_name;
SELECT column1, column2 Sélectionner des colonnes spécifiques SELECT first_name, last_name FROM employees;
WHERE Filtrer les lignes en fonction de conditions SELECT * FROM products WHERE price > 100;
ORDER BY Trier les résultats SELECT * FROM customers ORDER BY last_name ASC;
LIMIT Limiter le nombre de lignes retournées SELECT * FROM orders LIMIT 10;
DISTINCT Retourner uniquement les valeurs uniques SELECT DISTINCT category FROM products;
GROUP BY Grouper les lignes qui ont les mêmes valeurs SELECT category, COUNT(*) FROM products GROUP BY category;
HAVING Spécifier une condition de recherche pour un groupe SELECT category, AVG(price) FROM products GROUP BY category HAVING AVG(price) > 50;
JOIN Combiner des lignes de deux ou plusieurs tables SELECT orders.order_id, customers.customer_name FROM orders JOIN customers ON orders.customer_id = customers.id;

Souvenez-vous, la pratique rend parfait ! N'ayez pas peur d'expérimenter avec ces requêtes. Chaque fois que vous exécutez une requête réussie, vous améliorez vos compétences en base de données. Avant de savoir, vous serez capable d'écrire des requêtes complexes comme un pro !

Bonne recherche, et puissent vos instructions SELECT toujours retourner les données que vous cherchez !

Credits: Image by storyset