MySQL Datenanalyse

SQLSQLBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Projekt lernst du, wie du die integrierten Funktionen von MySQL verwendest, um relevante Informationen aus der Mitarbeitertabelle (emp) in der Personal-Datenbank abzurufen. Du wirst üben, SQL-Abfragen zu schreiben, um Daten in einer relationalen Datenbank zuzugreifen und zu manipulieren.

👀 Vorschau

MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;
+---------------+------------+------------+-------------+
| department_id | max_salary | min_salary | avg_salary  |
+---------------+------------+------------+-------------+
|            20 |    3000.00 |     800.00 | 2175.000000 |
|            10 |    5000.00 |    1300.00 | 2916.666667 |
+---------------+------------+------------+-------------+
2 Zeilen in set (0.001 sec)

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du MySQL ohne Passwort mit dem Befehl sudo zugreifst
  • Wie du Daten aus einer SQL-Datei in eine MySQL-Datenbank importierst
  • Wie du eine SQL-Abfrage schreibst, um die Abteilungsnummer, das maximale Gehalt, das minimale Gehalt und das durchschnittliche Gehalt für Abteilungen mit einem durchschnittlichen Gehalt von 2000 oder mehr abzurufen und die Ergebnisse nach Abteilungsnummer in absteigender Reihenfolge zu sortieren

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Zu verstehen, wie du die integrierten Funktionen von MySQL verwendest, um komplexe Datenanalyse durchzuführen
  • SQL-Abfragen zu schreiben, um Daten aus einer relationalen Datenbank abzurufen und zu manipulieren
  • Dein SQL-Wissen anzuwenden, um reale Datenverwaltungsprobleme zu lösen

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sql(("SQL")) -.-> sql/BasicSQLCommandsGroup(["Basic SQL Commands"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") sql/BasicSQLCommandsGroup -.-> sql/select("SELECT statements") sql/BasicSQLCommandsGroup -.-> sql/insert("INSERT INTO statements") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") sql/BasicSQLCommandsGroup -.-> sql/create_table("CREATE TABLE statements") sql/DataManipulationandQueryingGroup -.-> sql/order_by("ORDER BY clause") sql/DataManipulationandQueryingGroup -.-> sql/group_by("GROUP BY clause") sql/DataManipulationandQueryingGroup -.-> sql/having("HAVING clause") subgraph Lab Skills mysql/use_database -.-> lab-301364{{"MySQL Datenanalyse"}} sql/select -.-> lab-301364{{"MySQL Datenanalyse"}} sql/insert -.-> lab-301364{{"MySQL Datenanalyse"}} mysql/select -.-> lab-301364{{"MySQL Datenanalyse"}} mysql/source -.-> lab-301364{{"MySQL Datenanalyse"}} sql/create_table -.-> lab-301364{{"MySQL Datenanalyse"}} sql/order_by -.-> lab-301364{{"MySQL Datenanalyse"}} sql/group_by -.-> lab-301364{{"MySQL Datenanalyse"}} sql/having -.-> lab-301364{{"MySQL Datenanalyse"}} end

Zugang zu MySQL und Datenimport

In diesem Schritt lernst du, wie du MySQL mit dem Befehl sudo ohne Passwort zugreifst und die Daten aus /home/labex/project/personnel.sql in MySQL importierst.

  1. Starte den MySQL-Dienst:
sudo service mysql start
  1. Greife auf MySQL mit dem Befehl sudo zu:
sudo mysql
  1. Importiere die Daten aus /home/labex/project/personnel.sql in MySQL und wechsle zur personnel-Datenbank:
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;

Schreiben der SQL-Abfrage

In diesem Schritt lernst du, wie du die SQL-Abfrage schreibst, um die relevanten Informationen aus der Tabelle emp in der Datenbank personnel abzurufen.

  1. Öffne die Datei multiple_line_function.sql.
  2. Füge die folgende SQL-Abfrage zur Datei hinzu:
SELECT deptno AS 'department_id', MAX(sal) AS'max_salary', MIN(sal) AS'min_salary', AVG(sal) AS 'avg_salary'
FROM emp
GROUP BY deptno
HAVING AVG(sal) >= 2000
ORDER BY deptno DESC;

Diese Abfrage wird die Abteilungsnummer, das maximale Gehalt, das minimale Gehalt und das durchschnittliche Gehalt für Abteilungen mit einem durchschnittlichen Gehalt von 2000 oder mehr abrufen und die Ergebnisse nach Abteilungsnummer in absteigender Reihenfolge sortieren.

Führen Sie die SQL-Abfrage aus

In diesem Schritt lernen Sie, wie Sie die in Schritt zuvor geschriebene SQL-Abfrage ausführen.

  1. Öffnen Sie die MySQL-Eingabeaufforderung:
MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;

Dies führt die SQL-Abfrage aus und zeigt die Ergebnisse in der MySQL-Eingabeaufforderung an.

Die Ausgabe sollte ähnlich wie folgt aussehen:

+---------------+------------+------------+-------------+
| department_id | max_salary | min_salary | avg_salary  |
+---------------+------------+------------+-------------+
|            20 |    3000.00 |     800.00 | 2175.000000 |
|            10 |    5000.00 |    1300.00 | 2916.666667 |
+---------------+------------+------------+-------------+
2 Zeilen in set (0.001 sec)

Herzlichen Glückwunsch! Sie haben das Projekt erfolgreich abgeschlossen.

✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Sie haben dieses Projekt abgeschlossen. Sie können in LabEx weitere Übungen absolvieren, um Ihre Fähigkeiten zu verbessern.