Manipulation de données de base en MySQL

SQLSQLBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), nous explorerons les opérations fondamentales de manipulation de données dans MySQL. Vous apprendrez à insérer, sélectionner, mettre à jour et supprimer des données dans les tables MySQL. Ces opérations, communément appelées CRUD (Create, Read, Update, Delete), constituent le noyau des interactions avec les bases de données. Grâce à des exercices pratiques, vous acquerrez une expérience concrète de ces opérations essentielles sur les bases de données et comprendrez comment gérer efficacement les données dans les tables MySQL.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 93%. Il a reçu un taux d'avis positifs de 100% de la part des apprenants.

Insertion de données de base

Dans cette étape, nous apprendrons à insérer des données dans les tables MySQL en utilisant l'instruction INSERT. Nous commencerons par des insertions simples sur une seule ligne, puis passerons aux insertions sur plusieurs lignes.

Tout d'abord, connectons-nous à MySQL :

sudo mysql -u root

Une fois connecté, sélectionnons la base de données store :

USE store;

Insertion d'une seule ligne

Commençons par insérer un seul produit dans notre table products :

INSERT INTO products (name, price, description)
VALUES ('Coffee Maker', 49.99, 'A 12-cup drip coffee maker with programmable timer');

Décortiquons cette commande :

  • INSERT INTO products : Spécifie la table dans laquelle nous insérons des données.
  • (name, price, description) : Liste les colonnes pour lesquelles nous fournissons des valeurs.
  • VALUES (...) : Spécifie les valeurs réelles à insérer.

Notez que nous n'avons pas inclus :

  • id : Il s'incrémente automatiquement, donc MySQL le gère automatiquement.
  • created_at : Il a une valeur par défaut correspondant à l'horodatage actuel.

Pour vérifier notre insertion, nous pouvons sélectionner les données :

SELECT * FROM products;

Vous devriez voir une sortie comme celle-ci :

+----+--------------+--------+----------------------------------------------------+---------------------+
| id | name         | price  | description                                        | created_at          |
+----+--------------+--------+----------------------------------------------------+---------------------+
|  1 | Coffee Maker |  49.99 | A 12-cup drip coffee maker with programmable timer | 2024-11-07 09:12:06 |
+----+--------------+--------+----------------------------------------------------+---------------------+

Insertion de plusieurs lignes

Maintenant, insérons plusieurs produits d'un coup. Cela est plus efficace que d'insérer les lignes une par une :

INSERT INTO products (name, price, description) VALUES
    ('Toaster', 29.99, '2-slice toaster with multiple browning settings'),
    ('Blender', 79.99, 'High-speed blender for smoothies and soups'),
    ('Microwave', 129.99, '1000-watt microwave with digital controls');

Cette commande suit la même structure que l'insertion d'une seule ligne, mais inclut plusieurs ensembles de valeurs séparés par des virgules.

Vérifions nos insertions :

SELECT * FROM products;

Vous devriez voir une sortie comme celle-ci :

+----+--------------+--------+----------------------------------------------------+---------------------+
| id | name         | price  | description                                        | created_at          |
+----+--------------+--------+----------------------------------------------------+---------------------+
|  1 | Coffee Maker |  49.99 | A 12-cup drip coffee maker with programmable timer | 2024-11-07 09:12:06 |
|  2 | Toaster      |  29.99 | 2-slice toaster with multiple browning settings    | 2024-11-07 09:12:16 |
|  3 | Blender      |  79.99 | High-speed blender for smoothies and soups         | 2024-11-07 09:12:16 |
|  4 | Microwave    | 129.99 | 1000-watt microwave with digital controls          | 2024-11-07 09:12:16 |
+----+--------------+--------+----------------------------------------------------+---------------------+

Requêtes SELECT de base

Dans cette étape, nous apprendrons à récupérer des données de notre table en utilisant des instructions SELECT. Nous explorerons différentes façons de sélectionner et de formater notre sortie.

Sélection de colonnes spécifiques

Au lieu de sélectionner toutes les colonnes avec *, nous pouvons spécifier exactement quelles colonnes nous souhaitons voir :

SELECT name, price FROM products;

Cela nous donne une vue plus ciblée de nos données :

+-------------+--------+
| name        | price  |
+-------------+--------+
| Coffee Maker| 49.99  |
| Toaster     | 29.99  |
| Blender     | 79.99  |
| Microwave   | 129.99 |
+-------------+--------+

Utilisation d'alias de colonnes

Nous pouvons rendre notre sortie plus lisible en utilisant des alias de colonnes avec le mot-clé AS :

SELECT
    name AS product_name,
    price AS retail_price,
    price * 0.8 AS sale_price
FROM products;

Cette requête :

  • Renomme name en product_name
  • Renomme price en retail_price
  • Calcule un prix de vente (20 % de réduction) et le nomme sale_price

Vous verrez une sortie comme celle-ci :

+-------------+-------------+------------+
| product_name| retail_price| sale_price |
+-------------+-------------+------------+
| Coffee Maker| 49.99       | 39.99      |
| Toaster     | 29.99       | 23.99      |
| Blender     | 79.99       | 63.99      |
| Microwave   | 129.99      | 103.99     |
+-------------+-------------+------------+

Filtrage des résultats

Nous pouvons utiliser la clause WHERE pour filtrer nos résultats :

SELECT name, price
FROM products
WHERE price < 50.00;

Cela nous montre uniquement les produits coûtant moins de 50 dollars :

+-------------+-------+
| name        | price |
+-------------+-------+
| Coffee Maker| 49.99 |
| Toaster     | 29.99 |
+-------------+-------+

Mise à jour des données

Dans cette étape, nous apprendrons à modifier les données existantes en utilisant l'instruction UPDATE. L'instruction UPDATE nous permet de changer les valeurs dans nos tables.

IMPORTANT : Toujours utiliser une clause WHERE avec les instructions UPDATE! Sans WHERE, la mise à jour affectera TOUTES les lignes de la table.

Supposons que nous devions augmenter le prix de notre Coffee Maker :

UPDATE products
SET price = 54.99
WHERE name = 'Coffee Maker';

Nous pouvons également mettre à jour plusieurs colonnes à la fois :

UPDATE products
SET
    price = 89.99,
    description = 'Professional-grade high-speed blender for smoothies and soups'
WHERE name = 'Blender';

Pour vérifier nos mises à jour :

SELECT name, price, description
FROM products
WHERE name IN ('Coffee Maker', 'Blender');

Vous devriez voir les valeurs mises à jour :

+--------------+-------+---------------------------------------------------------------+
| name         | price | description                                                   |
+--------------+-------+---------------------------------------------------------------+
| Coffee Maker | 54.99 | A 12-cup drip coffee maker with programmable timer            |
| Blender      | 89.99 | Professional-grade high-speed blender for smoothies and soups |
+--------------+-------+---------------------------------------------------------------+

Suppression de données

Dans cette étape finale, nous apprendrons à supprimer des données de nos tables en utilisant l'instruction DELETE. Tout comme pour l'instruction UPDATE, il est crucial d'utiliser la clause WHERE avec DELETE pour éviter de supprimer accidentellement toutes les données.

Supprimons le grille-pain (Toaster) de notre liste de produits :

DELETE FROM products
WHERE name = 'Toaster';

Pour vérifier la suppression :

SELECT * FROM products;

Vous devriez voir tous les produits sauf le grille-pain :

+----+-------------+-------+-----------------------------------------------------+---------------------+
| id | name        | price | description                                         | created_at          |
+----+-------------+-------+-----------------------------------------------------+---------------------+
|  1 | Coffee Maker| 54.99 | A 12-cup drip coffee maker with programmable timer | 2024-01-01 12:00:00 |
|  3 | Blender     | 89.99 | Professional-grade high-speed blender for smoothies| 2024-01-01 12:00:00 |
|  4 | Microwave   | 129.99| 1000-watt microwave with digital controls          | 2024-01-01 12:00:00 |
+----+-------------+-------+-----------------------------------------------------+---------------------+

Nous pouvons également supprimer plusieurs lignes d'un coup. Supprimons tous les produits coûtant plus de 100 dollars :

DELETE FROM products
WHERE price > 100;

Cela devrait supprimer le micro-ondes (Microwave) de notre liste de produits.

MariaDB [store]> SELECT * FROM products;
+----+--------------+-------+---------------------------------------------------------------+---------------------+
| id | name         | price | description                                                   | created_at          |
+----+--------------+-------+---------------------------------------------------------------+---------------------+
|  1 | Coffee Maker | 54.99 | A 12-cup drip coffee maker with programmable timer            | 2024-11-07 09:12:06 |
|  3 | Blender      | 89.99 | Professional-grade high-speed blender for smoothies and soups | 2024-11-07 09:12:16 |
+----+--------------+-------+---------------------------------------------------------------+---------------------+

Résumé

Dans ce laboratoire, nous avons couvert les opérations fondamentales de manipulation de données dans MySQL :

  1. Les instructions INSERT pour ajouter des données sur une ou plusieurs lignes
  2. Les requêtes SELECT pour récupérer et formater des données
  3. Les instructions UPDATE pour modifier des données existantes
  4. Les instructions DELETE pour supprimer des données des tables

Ces opérations constituent la base de la manipulation des bases de données et sont des compétences essentielles pour toute personne travaillant avec des bases de données.