Grundlegende Datenoperationen in PostgreSQL

PostgreSQLBeginner
Jetzt üben

Einführung

In diesem Lab erkunden wir grundlegende Datenoperationen in PostgreSQL. Das Hauptziel ist es, zu lernen, wie man Daten innerhalb einer PostgreSQL-Datenbank mit grundlegenden SQL-Befehlen manipuliert.

Wir beginnen damit, eine Verbindung zur Datenbank herzustellen und eine employees-Tabelle mit Spalten für ID, Name und Abteilung zu erstellen. Anschließend lernen wir, wie man mit der INSERT INTO-Anweisung Daten in die Tabelle einfügt. Danach behandeln wir das Abfragen von Daten mit SELECT, das Aktualisieren bestehender Datensätze und das Löschen von Einträgen. Dieses Lab bietet eine praxisnahe Einführung in die wesentlichen Techniken der Datenverwaltung in PostgreSQL.

Daten in Tabellen einfügen

In diesem Schritt lernen wir, wie man Daten in PostgreSQL-Tabellen einfügt. Das Einfügen von Daten ist eine grundlegende Operation, um Ihre Datenbank mit Informationen zu füllen. Wir behandeln die grundlegende Syntax und geben Beispiele, um Ihnen den Prozess verständlich zu machen.

Bevor wir beginnen, stellen Sie sicher, dass PostgreSQL installiert ist und läuft. Sie können sich mit dem psql-Kommandozeilen-Tool 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 nun mit der Datenbank verbunden sind, erstellen wir eine einfache Tabelle namens employees, falls diese noch nicht existiert. Diese Tabelle speichert Informationen über Mitarbeiter, wie deren ID, Name und 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 bei jedem neuen Datensatz automatisch hochgezählt wird (unter Verwendung von SERIAL). Dies ist auch der Primärschlüssel der Tabelle.
  • name: Eine Zeichenkette (bis zu 50 Zeichen) zur Speicherung des Mitarbeiternamens.
  • department: Eine Zeichenkette (bis zu 50 Zeichen) zur Speicherung der Abteilung des Mitarbeiters.

Fügen wir nun einige Daten in die employees-Tabelle ein. Wir fügen drei Mitarbeiterdatensätze hinzu.

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 der employees-Tabelle eine neue Zeile hinzu. 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 employees-Tabelle mit der SELECT-Anweisung abfragen.

SELECT * FROM employees;

Dies zeigt alle Zeilen und Spalten der employees-Tabelle an. Sie sollten die drei soeben eingefügten Mitarbeiterdatensätze sehen. Die Ausgabe sollte in etwa so aussehen:

 id |     name      | department
----+---------------+------------
  1 | Alice Smith   | Sales
  2 | Bob Johnson   | Marketing
  3 | Charlie Brown | Engineering
(3 rows)

Ausgabe nach dem Einfügen von Daten in die Tabelle

Sie haben nun erfolgreich Daten in eine PostgreSQL-Tabelle eingefügt. Sie können bei Bedarf weitere Datensätze hinzufügen.

Beenden Sie abschließend die psql-Shell durch Eingabe von:

\q

Dies bringt Sie zurück zum Terminal.

Daten mit SELECT abfragen

In diesem Schritt lernen wir, wie man Daten mit der SELECT-Anweisung aus PostgreSQL-Tabellen abfragt. Die SELECT-Anweisung ist die Grundlage für das Abrufen von Informationen aus Ihrer Datenbank. Wir behandeln die grundlegende Syntax, das Filtern und das Sortieren, damit Sie das Abrufen von Daten beherrschen.

Stellen Sie zunächst sicher, dass Sie mit der Datenbank verbunden sind. Falls 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 spezifische Spalten auswählt. Angenommen, wir möchten 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 employees-Tabelle 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. Angenommen, wir möchten 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 aufgenommen wird. In diesem Fall wählen wir nur Zeilen aus, in 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. Angenommen, wir möchten 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 employees-Tabelle 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;

Dies sortiert die Ergebnisse in umgekehrter alphabetischer Reihenfolge.

Sie haben nun gelernt, wie man Daten mit der SELECT-Anweisung aus einer PostgreSQL-Tabelle abfragt, einschließlich der Auswahl spezifischer Spalten, des Filterns von Ergebnissen mit der WHERE-Klausel und des Sortierens von Ergebnissen mit der ORDER BY-Klausel.

Illustration zum Abfragen von Daten in PostgreSQL

Beenden Sie abschließend die psql-Shell durch Eingabe von:

\q

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 unerlässlich, um Ihre Datenbankinformationen aktuell und korrekt zu halten. Wir behandeln die grundlegende Syntax und geben Beispiele, um Ihnen den Prozess verständlich zu machen.

Stellen Sie zunächst sicher, dass Sie mit der Datenbank verbunden sind. Falls 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'.

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. 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 employees-Tabelle abfragen.

SELECT * FROM employees WHERE name = 'Alice Smith';

Dies zeigt die Zeile für 'Alice Smith' an, 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 zum Beispiel die Abteilung von Bob Johnson auf 'Sales' 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 employees-Tabelle 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 employees-Tabelle auf 'Unknown' setzen. Seien Sie sehr vorsichtig, wenn Sie eine solche Anweisung ausführen.

Illustration zum Aktualisieren von Datensätzen in PostgreSQL

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 durch Eingabe von:

\q

Datensätze löschen

In diesem Schritt lernen wir, wie man Datensätze mit der DELETE-Anweisung aus einer PostgreSQL-Tabelle löscht. Das Löschen von Daten ist eine wichtige Operation, um veraltete oder falsche Informationen aus Ihrer Datenbank zu entfernen. Wir behandeln die grundlegende Syntax und geben Beispiele, um Ihnen den Prozess verständlich zu machen.

Stellen Sie zunächst sicher, dass Sie mit der Datenbank verbunden sind. Falls 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 employees-Tabelle.

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 employees-Tabelle 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' hätten, könnten Sie alle mit einer einzigen Anweisung löschen:

DELETE FROM employees WHERE department = 'Marketing';

Es ist entscheidend, 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 employees-Tabelle löschen und die Tabelle effektiv leeren. Seien Sie sich 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 mit der DELETE-Anweisung aus einer PostgreSQL-Tabelle löscht.

Illustration zum Löschen von Datensätzen in PostgreSQL

Überprüfen Sie die employees-Tabelle, um sicherzustellen, dass das Löschen erfolgreich war.

SELECT * FROM employees;

Die Ausgabe sollte sein:

 id |      name      |   department
----+----------------+-----------------
  1 | Alice Smith    | Human Resources
  2 | Robert Johnson | Sales
(2 rows)

Beenden Sie abschließend die psql-Shell durch Eingabe von:

\q

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-Kommandozeilen-Tool. Anschließend erstellten wir eine employees-Tabelle mit Spalten für id, name und department, wobei wir id als Primärschlüssel mit automatischer Hochzählfunktion festlegten.

Schließlich fügten wir drei Mitarbeiterdatensätze mit der INSERT INTO-Anweisung in die employees-Tabelle ein, wobei wir den Tabellennamen, die Zielspalten sowie die entsprechenden Werte für jeden Datensatz angaben. Dies demonstrierte die grundlegende Syntax zum Füllen einer PostgreSQL-Tabelle mit Daten.