Umfassende MySQL-Datenmanipulation

MySQLMySQLBeginner
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 umfassende DML (Data Manipulation Language)-Operationen auf der Employees-Tabelle (emp) in der Employees-Datenbank ausführen kannst. Du wirst lernen, wie du neue Datensätze einfügen, vorhandene Datensätze aktualisieren und Datensätze aus der Tabelle löschen kannst.

👀 Vorschau

Vorschau von DML-Operationen

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du ohne Passwort über den Befehl sudo auf MySQL zugreifen kannst
  • Wie du Daten aus einer SQL-Datei in die MySQL-Datenbank importieren kannst
  • Wie du mit einer einzelnen SQL-Anweisung neue Datensätze in die Tabelle emp einfügen kannst
  • Wie du den Vorgesetzten eines Mitarbeiters in der Tabelle emp aktualisieren kannst
  • Wie du alle Datensätze in der Tabelle emp mit einem NULL-Wert in der Spalte comm aktualisierst, um den comm-Wert auf 0 zu setzen
  • Wie du den Datensatz mit der höchsten Mitarbeiter-Nummer aus der Tabelle emp löschen kannst
  • Wie du alle Mitarbeiter löschen kannst, die direkt einem bestimmten Manager in der Tabelle emp berichten

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Umfassende DML-Operationen auf einer MySQL-Datenbanktabelle auszuführen
  • Zu verstehen, wie du SQL-Anweisungen zum Einfügen, Aktualisieren und Löschen von Daten verwendest
  • Erfahrungen im Verwalten und Manipulieren von Daten in einer relationalen Datenbank zu sammeln
  • Problemlösefähigkeiten durch die Ausführung der verschiedenen Aufgaben im Projekt zu entwickeln

Zugang zu MySQL und Datenimport

In diesem Schritt lernst du, wie du über den Befehl sudo ohne Passwort auf MySQL zugreifen kannst und wie du die Daten aus /home/labex/project/personnel.sql in die Datenbank personnel importieren kannst.

  1. Starte den MySQL-Dienst:
sudo service mysql start
  1. Greife über den Befehl sudo auf MySQL zu:
sudo mysql
  1. Importiere die Daten aus /home/labex/project/personnel.sql in die Datenbank personnel:
SOURCE /home/labex/project/personnel.sql;
  1. Wechsle zur Datenbank personnel:
USE personnel;

Neue Datensätze einfügen

In diesem Schritt lernst du, wie du mit einer einzigen SQL-Anweisung zwei neue Datensätze zur Tabelle emp hinzufügen kannst.

Füge die folgenden beiden Datensätze zur Tabelle emp hinzu:

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);

Mitarbeiter-Vorgesetzten aktualisieren

In diesem Schritt lernst du, wie du den direkten Vorgesetzten des Mitarbeiters SCOTT in der Tabelle emp auf den direkten Vorgesetzten des Mitarbeiters BLAKE ändern kannst.

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

Leere Provisionswerte aktualisieren

In diesem Schritt lernst du, wie du alle Einträge in der Tabelle emp mit einem comm-Wert von NULL aktualisierst, um den comm-Wert auf 0 zu setzen.

UPDATE emp
SET comm = 0
WHERE comm IS NULL;

Den höchsten Mitarbeiter-Nummer löschen

In diesem Schritt lernst du, wie du den Eintrag mit der höchsten Mitarbeiter-Nummer aus der Tabelle emp entfernst.

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

Mitarbeiter löschen, die an BLAKE rapportieren

In diesem Schritt lernst du, wie du alle Mitarbeiter in der Tabelle emp löschen kannst, die direkt an BLAKE rapportieren.

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

Nach den obigen Schritten kannst du auf die folgenden Ergebnisse verweisen, um zu überprüfen:

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)
✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.