Manipulation de données MySQL complète

MySQLMySQLBeginner
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 projet, vous allez apprendre à effectuer des opérations de DML (Data Manipulation Language) complètes sur la table Employees (emp) dans la base de données Employees. Vous allez apprendre à insérer de nouveaux enregistrements, à mettre à jour les enregistrements existants et à supprimer des enregistrements de la table.

👀 Aperçu

Aperçu des opérations de DML

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment accéder à MySQL en utilisant la commande sudo sans mot de passe
  • Comment importer des données à partir d'un fichier SQL dans la base de données MySQL
  • Comment insérer de nouveaux enregistrements dans la table emp en utilisant une seule instruction SQL
  • Comment mettre à jour le superviseur d'un employé dans la table emp
  • Comment mettre à jour tous les enregistrements dans la table emp avec une valeur comm nulle pour définir comm sur 0
  • Comment supprimer l'enregistrement avec le plus haut numéro d'employé de la table emp
  • Comment supprimer tous les employés qui rapportent directement à un gestionnaire spécifique dans la table emp

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Effectuer des opérations de DML complètes sur une table de base de données MySQL
  • Comprendre comment utiliser des instructions SQL pour insérer, mettre à jour et supprimer des données
  • Gagner de l'expérience dans la gestion et la manipulation de données dans une base de données relationnelle
  • Développer des compétences en résolution de problèmes en complétant les diverses tâches du projet

Accéder à MySQL et importer des données

Dans cette étape, vous allez apprendre à accéder à MySQL en utilisant la commande sudo sans mot de passe, et à importer les données de /home/labex/project/personnel.sql dans la base de données personnel.

  1. Démarrer le service MySQL :
sudo service mysql start
  1. Accéder à MySQL en utilisant la commande sudo :
sudo mysql
  1. Importer les données de /home/labex/project/personnel.sql dans la base de données personnel :
SOURCE /home/labex/project/personnel.sql;
  1. Passer à la base de données personnel :
USE personnel;

Insérer de nouveaux enregistrements

Dans cette étape, vous allez apprendre à ajouter deux nouveaux enregistrements à la table emp en utilisant une seule instruction SQL.

Ajoutez les deux enregistrements suivants à la table emp :

INSERT INTO emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
VALUES (9878, 'JOHN', 'CLERK', 7499, '2022-01-05', 1800, 0, 10),
       (8868, 'JANE', 'CLERK', 7566, '2022-02-12', 2500, NULL, 20);

Mettre à jour le superviseur de l'employé

Dans cette étape, vous allez apprendre à changer le directeur direct de l'employé SCOTT dans la table emp pour le directeur direct de l'employé BLAKE.

UPDATE emp
SET mgr = (SELECT mgr
           FROM emp
           WHERE ename = 'BLAKE')
WHERE ename = 'SCOTT';

Mettre à jour les valeurs de commission nulles

Dans cette étape, vous allez apprendre à mettre à jour toutes les entrées dans la table emp qui ont une valeur de comm égale à NULL pour définir comm sur 0.

UPDATE emp
SET comm = 0
WHERE comm IS NULL;

Supprimer le plus haut numéro d'employé

Dans cette étape, vous allez apprendre à supprimer l'entrée avec le plus haut numéro d'employé de la table emp.

DELETE FROM emp
WHERE empno = (SELECT MAX(empno) FROM emp);

Supprimer les employés rapportant à BLAKE

Dans cette étape, vous allez apprendre à supprimer tous les employés qui rapportent directement à BLAKE dans la table emp.

DELETE FROM emp
WHERE mgr = (SELECT empno FROM emp WHERE ename = 'BLAKE');

Après les étapes ci-dessus, vous pouvez vous référer aux résultats suivants pour vérifier :

MariaDB [personnel]> select * from emp;
+-------+--------+-----------+------+------------+---------+------+--------+
| empno | ename  | job       | mgr  | hiredate   | sal     | comm | deptno |
+-------+--------+-----------+------+------------+---------+------+--------+
|  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 |  800.00 | 0.00 |     20 |
|  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 | 2975.00 | 0.00 |     20 |
|  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 | 2850.00 | 0.00 |     30 |
|  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 | 2450.00 | 0.00 |     10 |
|  7788 | SCOTT  | ANALYST   | 7839 | 1987-06-13 | 3000.00 | 0.00 |     20 |
|  7839 | KING   | PRESIDENT | NULL | 1981-11-17 | 5000.00 | 0.00 |     10 |
|  7876 | ADAMS  | CLERK     | 7788 | 1987-06-13 | 1100.00 | 0.00 |     20 |
|  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 | 3000.00 | 0.00 |     20 |
|  7934 | MILLER | CLERK     | 7782 | 1982-01-23 | 1300.00 | 0.00 |     10 |
|  8868 | JANE   | CLERK     | 7566 | 2022-02-12 | 2500.00 | 0.00 |     20 |
+-------+--------+-----------+------+------------+---------+------+--------+
10 rows in set (0.000 sec)
✨ Vérifier la solution et pratiquer

Sommaire

Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.