In diesem Lab werden wir grundlegende Datenoperationen in PostgreSQL untersuchen. Das Hauptziel ist es, zu lernen, wie man Daten innerhalb einer PostgreSQL-Datenbank mithilfe grundlegender SQL-Befehle manipuliert.
Wir beginnen mit der Verbindung zur Datenbank und der Erstellung einer employees-Tabelle mit Spalten für ID, Name und Abteilung. Anschließend lernen wir, wie man Daten mit der INSERT INTO-Anweisung in die Tabelle einfügt. Danach werden wir die Abfrage von Daten mit SELECT, die Aktualisierung bestehender Datensätze und das Löschen von Datensätzen behandeln. Dieses Lab bietet eine praktische Einführung in wesentliche Datenverwaltungstechniken in PostgreSQL.
Coden ohne Setup – sofort loslegen.
Daten in Tabellen einfügen
In diesem Schritt lernen wir, wie man Daten in Tabellen in PostgreSQL einfügt. Das Einfügen von Daten ist eine grundlegende Operation, um Ihre Datenbank mit Informationen zu füllen. Wir werden die grundlegende Syntax behandeln und Beispiele geben, um Ihnen das Verständnis des Prozesses zu erleichtern.
Bevor wir beginnen, stellen Sie sicher, dass PostgreSQL installiert ist und läuft. Sie können sich mit dem Befehlszeilen-Tool psql mit Ihrem PostgreSQL-Server verbinden.
Verbinden wir uns zunächst mit der Datenbank. Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
sudo -u postgres psql
Nachdem wir uns mit der Datenbank verbunden haben, erstellen wir eine einfache Tabelle namens employees (Mitarbeiter), falls sie noch nicht existiert. Diese Tabelle speichert Informationen über Mitarbeiter, wie z. B. ihre ID, ihren Namen und ihre Abteilung.
CREATE TABLE IF NOT EXISTS employees (
id SERIAL PRIMARY KEY,
name VARCHAR(50),
department VARCHAR(50)
);
Diese SQL-Anweisung erstellt eine Tabelle namens employees mit drei Spalten:
id: Eine Ganzzahl, die sich mit jedem neuen Datensatz automatisch erhöht (mit SERIAL). Sie ist auch der Primärschlüssel (primary key) für die Tabelle.
name: Eine Zeichenkette (bis zu 50 Zeichen) zur Speicherung des Namens des Mitarbeiters.
department: Eine Zeichenkette (bis zu 50 Zeichen) zur Speicherung der Abteilung des Mitarbeiters.
Fügen wir nun einige Daten in die Tabelle employees ein. Wir werden drei Mitarbeiterdatensätze einfügen.
INSERT INTO employees (name, department) VALUES ('Alice Smith', 'Sales');
INSERT INTO employees (name, department) VALUES ('Bob Johnson', 'Marketing');
INSERT INTO employees (name, department) VALUES ('Charlie Brown', 'Engineering');
Jede INSERT INTO-Anweisung fügt eine neue Zeile in die Tabelle employees ein. Wir geben den Tabellennamen (employees) und die Spalten an, in die wir Daten einfügen (name, department). Auf das Schlüsselwort VALUES folgen die tatsächlichen Daten, die wir einfügen möchten, eingeschlossen in Klammern.
Um zu überprüfen, ob die Daten korrekt eingefügt wurden, können wir die Tabelle employees mit der SELECT-Anweisung abfragen.
SELECT * FROM employees;
Dadurch werden alle Zeilen und Spalten in der Tabelle employees angezeigt. Sie sollten die drei Mitarbeiterdatensätze sehen, die wir gerade eingefügt haben. Die Ausgabe sollte in etwa so aussehen:
id | name | department
----+---------------+------------
1 | Alice Smith | Sales
2 | Bob Johnson | Marketing
3 | Charlie Brown | Engineering
(3 rows)
Sie haben nun erfolgreich Daten in eine PostgreSQL-Tabelle eingefügt. Sie können bei Bedarf weitere Datensätze einfügen.
Beenden Sie abschließend die psql-Shell, indem Sie Folgendes eingeben:
\q
Dadurch kehren Sie zum Terminal zurück.
Daten mit SELECT abfragen
In diesem Schritt lernen wir, wie man Daten aus Tabellen in PostgreSQL mit der SELECT-Anweisung abfragt. Die SELECT-Anweisung ist die Grundlage für das Abrufen von Informationen aus Ihrer Datenbank. Wir werden die grundlegende Syntax, Filterung und Sortierung behandeln, um Ihnen zu helfen, die Datenabfrage zu meistern.
Stellen Sie zunächst sicher, dass Sie mit der Datenbank verbunden sind. Wenn Sie noch nicht verbunden sind, öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
sudo -u postgres psql
Lernen wir, wie man bestimmte Spalten auswählt. Nehmen wir an, wir wollen nur die Spalten name und department abrufen.
SELECT name, department FROM employees;
Diese Anweisung gibt nur die Spalten name und department für alle Zeilen in der Tabelle employees zurück. Die Ausgabe sollte in etwa so aussehen:
name | department
---------------+------------
Alice Smith | Sales
Bob Johnson | Marketing
Charlie Brown | Engineering
(3 rows)
Fügen wir nun eine WHERE-Klausel hinzu, um die Ergebnisse zu filtern. Nehmen wir an, wir wollen nur die Mitarbeiter abrufen, die in der Abteilung 'Sales' arbeiten.
SELECT name, department FROM employees WHERE department = 'Sales';
Die WHERE-Klausel gibt eine Bedingung an, die erfüllt sein muss, damit eine Zeile in das Ergebnis-Set aufgenommen wird. In diesem Fall wählen wir nur Zeilen aus, bei denen die Spalte department gleich 'Sales' ist. Die Ausgabe sollte sein:
name | department
---------------+------------
Alice Smith | Sales
(1 row)
Lernen wir schließlich, wie man die Ergebnisse mit der ORDER BY-Klausel sortiert. Nehmen wir an, wir wollen alle Mitarbeiter abrufen, sortiert nach ihrem Namen in aufsteigender Reihenfolge.
SELECT name, department FROM employees ORDER BY name;
Diese Anweisung gibt alle Zeilen aus der Tabelle employees zurück, aber die Ergebnisse werden alphabetisch nach der Spalte name sortiert. Die Ausgabe sollte sein:
name | department
---------------+------------
Alice Smith | Sales
Bob Johnson | Marketing
Charlie Brown | Engineering
(3 rows)
Um die Ergebnisse in absteigender Reihenfolge zu sortieren, können Sie das Schlüsselwort DESC nach dem Spaltennamen hinzufügen.
SELECT name, department FROM employees ORDER BY name DESC;
Dadurch werden die Ergebnisse in umgekehrter alphabetischer Reihenfolge sortiert.
Sie haben nun gelernt, wie man Daten aus einer PostgreSQL-Tabelle mit der SELECT-Anweisung abfragt, einschließlich der Auswahl bestimmter Spalten, des Filterns von Ergebnissen mit der WHERE-Klausel und des Sortierens von Ergebnissen mit der ORDER BY-Klausel.
Beenden Sie abschließend die psql-Shell, indem Sie Folgendes eingeben:
\q
Direkt aus dem Tutorial heraus programmieren.
Bestehende Datensätze aktualisieren
In diesem Schritt lernen wir, wie man bestehende Datensätze in einer PostgreSQL-Tabelle mit der UPDATE-Anweisung aktualisiert. Das Aktualisieren von Daten ist wichtig, um Ihre Datenbankinformationen aktuell und korrekt zu halten. Wir werden die grundlegende Syntax behandeln und Beispiele geben, um Ihnen das Verständnis des Prozesses zu erleichtern.
Stellen Sie zunächst sicher, dass Sie mit der Datenbank verbunden sind. Wenn Sie noch nicht verbunden sind, öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
sudo -u postgres psql
Aktualisieren wir die Abteilung von 'Alice Smith' auf 'Human Resources' (Personalabteilung).
UPDATE employees SET department = 'Human Resources' WHERE name = 'Alice Smith';
Die UPDATE-Anweisung ändert bestehende Zeilen in einer Tabelle. Die SET-Klausel gibt an, welche Spalten aktualisiert werden sollen und welche neuen Werte sie erhalten sollen. Die WHERE-Klausel gibt an, welche Zeilen aktualisiert werden sollen. In diesem Fall aktualisieren wir die Spalte department auf 'Human Resources' für die Zeile, in der die Spalte name gleich 'Alice Smith' ist.
Um zu überprüfen, ob die Aktualisierung erfolgreich war, können wir die Tabelle employees abfragen.
SELECT * FROM employees WHERE name = 'Alice Smith';
Dadurch wird die Zeile für 'Alice Smith' angezeigt, und Sie sollten sehen, dass die Spalte department auf 'Human Resources' aktualisiert wurde. Die Ausgabe sollte in etwa so aussehen:
id | name | department
----+---------------+------------------
1 | Alice Smith | Human Resources
(1 row)
Sie können auch mehrere Spalten gleichzeitig aktualisieren. Aktualisieren wir beispielsweise Bob Johnsons Abteilung auf 'Sales' (Vertrieb) und seinen Namen auf 'Robert Johnson'.
UPDATE employees SET department = 'Sales', name = 'Robert Johnson' WHERE name = 'Bob Johnson';
Diese Anweisung aktualisiert sowohl die Spalte department als auch die Spalte name für die Zeile, in der die Spalte name gleich 'Bob Johnson' ist.
Um die Aktualisierung zu überprüfen, fragen Sie die Tabelle employees erneut ab.
SELECT * FROM employees WHERE name = 'Robert Johnson';
Die Ausgabe sollte sein:
id | name | department
----+----------------+------------
2 | Robert Johnson | Sales
(1 row)
Es ist wichtig, bei der Verwendung der UPDATE-Anweisung vorsichtig zu sein, insbesondere wenn die WHERE-Klausel weggelassen wird. Wenn Sie die WHERE-Klausel weglassen, aktualisiert die UPDATE-Anweisung alle Zeilen in der Tabelle. Zum Beispiel:
UPDATE employees SET department = 'Unknown';
Diese Anweisung würde die Spalte department für jede Zeile in der Tabelle employees auf 'Unknown' setzen. Seien Sie sehr vorsichtig, wenn Sie eine solche Anweisung ausführen.
Sie haben nun gelernt, wie man bestehende Datensätze in einer PostgreSQL-Tabelle mit der UPDATE-Anweisung aktualisiert.
Beenden Sie abschließend die psql-Shell, indem Sie Folgendes eingeben:
\q
Datensätze löschen
In diesem Schritt lernen wir, wie man Datensätze aus einer PostgreSQL-Tabelle mit der DELETE-Anweisung löscht. Das Löschen von Daten ist eine wichtige Operation, um veraltete oder falsche Informationen aus Ihrer Datenbank zu entfernen. Wir werden die grundlegende Syntax behandeln und Beispiele geben, um Ihnen das Verständnis des Prozesses zu erleichtern.
Stellen Sie zunächst sicher, dass Sie mit der Datenbank verbunden sind. Wenn Sie noch nicht verbunden sind, öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
sudo -u postgres psql
Löschen wir den Datensatz für 'Charlie Brown' aus der Tabelle employees.
DELETE FROM employees WHERE name = 'Charlie Brown';
Die DELETE FROM-Anweisung entfernt Zeilen aus einer Tabelle. Die WHERE-Klausel gibt an, welche Zeilen gelöscht werden sollen. In diesem Fall löschen wir die Zeile, in der die Spalte name gleich 'Charlie Brown' ist.
Um zu überprüfen, ob das Löschen erfolgreich war, können wir die Tabelle employees abfragen.
SELECT * FROM employees WHERE name = 'Charlie Brown';
Dies sollte keine Zeilen zurückgeben, was darauf hinweist, dass der Datensatz für 'Charlie Brown' gelöscht wurde. Die Ausgabe sollte sein:
id | name | department
----+------+------------
(0 rows)
Sie können auch mehrere Zeilen gleichzeitig löschen, indem Sie eine komplexere WHERE-Klausel verwenden. Wenn Sie beispielsweise mehrere Mitarbeiter in der Abteilung 'Marketing' (Marketingabteilung) hätten, könnten Sie alle mit einer einzigen Anweisung löschen:
DELETE FROM employees WHERE department = 'Marketing';
Es ist äußerst wichtig, bei der Verwendung der DELETE-Anweisung äußerst vorsichtig zu sein, insbesondere wenn die WHERE-Klausel weggelassen wird. Wenn Sie die WHERE-Klausel weglassen, löscht die DELETE-Anweisung alle Zeilen aus der Tabelle. Zum Beispiel:
DELETE FROM employees;
Diese Anweisung würde jede Zeile in der Tabelle employees löschen und die Tabelle effektiv leeren. Stellen Sie absolut sicher, dass Sie alle Zeilen löschen möchten, bevor Sie eine solche Anweisung ausführen.
Sie haben nun gelernt, wie man Datensätze aus einer PostgreSQL-Tabelle mit der DELETE-Anweisung löscht.
Überprüfen Sie die Tabelle employees, um sicherzustellen, dass das Löschen erfolgreich war.
SELECT * FROM employees;
Die Ausgabe sollte sein:
id | name | department
----+------+------------
(0 rows)
Beenden Sie abschließend die psql-Shell, indem Sie Folgendes eingeben:
\q
Praxis statt nur Theorie.
Zusammenfassung
In diesem Lab haben wir grundlegende Datenoperationen in PostgreSQL behandelt, wobei der Schwerpunkt auf dem Einfügen von Daten in Tabellen lag. Wir begannen mit der Verbindung zur Datenbank über das psql Befehlszeilen-Tool. Anschließend erstellten wir eine employees-Tabelle mit Spalten für id, name und department und legten id als Primärschlüssel (primary key) mit Auto-Increment-Funktionalität fest.
Schließlich haben wir drei Mitarbeiterdatensätze mit der INSERT INTO-Anweisung in die employees-Tabelle eingefügt, wobei wir den Tabellennamen und die Spalten, in die Daten eingefügt werden sollen, zusammen mit den entsprechenden Werten für jeden Datensatz angegeben haben. Dies demonstrierte die grundlegende Syntax zum Füllen einer PostgreSQL-Tabelle mit Daten.