Fonctions générales complètes

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 à accéder à MySQL, à importer des données et à interroger des informations sur les employés à l'aide de fonctions MySQL intégrées.

👀 Aperçu

MariaDB [personnel]> SOURCE /home/labex/project/answer.sql;
+------------------------------------------+---------------+----------------+
| Nom                                      | Revenu annuel | Utilisateur actuel |
+------------------------------------------+---------------+----------------+
| bc70be7f38046e64dd779f276ce4a20f99153f26 | 800.000       | root@localhost |
| 6e1cae96112fe249dc0fb4f9a004c9dc04315608 | 1 900.000     | root@localhost |
| 7c7f32425fa076caeed971f5549c82ffa88fd0eb | 1 750.000     | root@localhost |
| a1787353201302d65c744486c1e940709fee0eff | 2 975.000     | root@localhost |
| f3b9b87a2f377c006e935f32dd25ea55ebf7f551 | 2 650.000     | root@localhost |
| 7cde55b3a6e9cf610db200b6b9cc9b5adca1657f | 2 850.000     | root@localhost |
| 4f90e103facadd0787d7a6828f096f6e66595a47 | 2 450.000     | root@localhost |
| 7634fdc80aa4027cfd5e966abc1b6b4b4ea19fbe | 3 000.000     | root@localhost |
| 50b8a339f82ab9ce6c55bf8ea10dad8513e9d142 | 5 000.000     | root@localhost |
| e043e3d3ebddafaa5ed97f7dcc4d236286f8ad4a | 1 500.000     | root@localhost |
| 2d2eb27e1db8836e44cd4e94f58b89728331e8de | 1 100.000     | root@localhost |
| 6afc44af3cbdbb6718e8da8715a1956b895dc5d2 | 950.000       | root@localhost |
| 7e5b07d8bbb5e0a55b5d428476d4691b3ee97b4a | 3 000.000     | root@localhost |
| 25d5ae3b0e0dac511ba94e337b88e0887538b31f | 1 300.000     | root@localhost |
+------------------------------------------+---------------+----------------+
14 lignes affectées (0,000 sec)

🎯 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 interroger les noms et les revenus annuels des employés dans la table emp
  • Comment crypter les noms des employés à l'aide de la fonction SHA
  • Comment formater le revenu annuel avec 3 décimales
  • Comment afficher les informations sur le compte de base de données actuel

🏆 Réalisations

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

  • Accéder et gérer avec confiance une base de données MySQL à l'aide de la ligne de commande
  • Effectuer des opérations d'importation de données et de requêtes de base de données
  • Appliquer les fonctions MySQL intégrées pour manipuler et formater les données
  • Comprendre l'importance de la sécurité et de la cryptographie des données
  • Montrer votre capacité à travailler avec des bases de données MySQL et des requêtes SQL

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") subgraph Lab Skills mysql/use_database -.-> lab-301342{{"Fonctions générales complètes"}} mysql/select -.-> lab-301342{{"Fonctions générales complètes"}} mysql/source -.-> lab-301342{{"Fonctions générales complètes"}} mysql/database -.-> lab-301342{{"Fonctions générales complètes"}} end

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 MySQL et à basculer vers la base de données personnel.

  1. Ouvrez un terminal et démarrez le service MySQL à l'aide de la commande suivante :
sudo service mysql start
  1. Accédez à MySQL en utilisant la commande sudo :
sudo mysql
  1. Importez les données de /home/labex/project/personnel.sql dans MySQL et basculez vers la base de données personnel :
MariaDB [None]> SOURCE /home/labex/project/personnel.sql;

Interroger les noms des employés et leur revenu annuel

Dans cette étape, vous allez apprendre à interroger les noms et les revenus annuels de tous les employés dans la table emp, et à afficher les informations sur le compte de base de données pour l'opération en cours.

  1. Ajoutez le code suivant au fichier answer.sql.
SELECT SHA(emp.ename) AS 'Nom',
       FORMAT(IFNULL(emp.sal, 0) + IFNULL(emp.comm, 0), 3) AS 'Revenu annuel',
       CURRENT_USER() AS 'Utilisateur actuel'
FROM emp;

Voici ce que fait le code :

  • SHA(emp.ename) : Crypte les noms des employés à l'aide de la fonction SHA.
  • IFNULL(emp.sal, 0) + IFNULL(emp.comm, 0) : Calcule le revenu annuel en additionnant les colonnes salaire (sal) et prime (comm), et remplace toute valeur NULL par 0.
  • FORMAT(..., 3) : Formate le revenu annuel avec 3 décimales.
  • CURRENT_USER() : Affiche les informations sur le compte de base de données actuel.
  1. Exécutez le fichier answer.sql.
SOURCE /home/labex/project/answer.sql;

La requête retournera la sortie suivante :

+------------------------------------------+---------------+----------------+
| Nom                                      | Revenu annuel | Utilisateur actuel |
+------------------------------------------+---------------+----------------+
| bc70be7f38046e64dd779f276ce4a20f99153f26 | 800.000       | root@localhost |
| 6e1cae96112fe249dc0fb4f9a004c9dc04315608 | 1 900.000     | root@localhost |
| 7c7f32425fa076caeed971f5549c82ffa88fd0eb | 1 750.000     | root@localhost |
| a1787353201302d65c744486c1e940709fee0eff | 2 975.000     | root@localhost |
| f3b9b87a2f377c006e935f32dd25ea55ebf7f551 | 2 650.000     | root@localhost |
| 7cde55b3a6e9cf610db200b6b9cc9b5adca1657f | 2 850.000     | root@localhost |
| 4f90e103facadd0787d7a6828f096f6e66595a47 | 2 450.000     | root@localhost |
| 7634fdc80aa4027cfd5e966abc1b6b4b4ea19fbe | 3 000.000     | root@localhost |
| 50b8a339f82ab9ce6c55bf8ea10dad8513e9d142 | 5 000.000     | root@localhost |
| e043e3d3ebddafaa5ed97f7dcc4d236286f8ad4a | 1 500.000     | root@localhost |
| 2d2eb27e1db8836e44cd4e94f58b89728331e8de | 1 100.000     | root@localhost |
| 6afc44af3cbdbb6718e8da8715a1956b895dc5d2 | 950.000       | root@localhost |
| 7e5b07d8bbb5e0a55b5d428476d4691b3ee97b4a | 3 000.000     | root@localhost |
| 25d5ae3b0e0dac511ba94e337b88e0887538b31f | 1 300.000     | root@localhost |
+------------------------------------------+---------------+----------------+
14 lignes affectées (0,000 sec)

La requête a été enregistrée dans le fichier /home/labex/project/answer.sql.

✨ 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.