DML- oder Data Manipulation Language-Anweisungen werden verwendet, um die in einer Datenbank vorhandenen Daten zu bearbeiten. Die wichtigsten DML-Anweisungen sind INSERT
, UPDATE
& DELETE
.
Wir werden uns mit den verschiedenen PostgreSQL DML-Anweisungen beschäftigen und uns anschauen wie wir sie sowohl mit der SQL-Shell, als auch mit pgAdmin verwenden können.
Wir gehen davon aus, dass Sie bereits mit dem Erstellen von Tabellen in PostgreSQL vertraut sind und verwenden zum Ausführen unserer Abfragen die Tabelle employees
. Sie können Sie mit folgendem Befehl erstellen:
CREATE TABLE employees(
"employee_name" character varying(50) NOT NULL,
"employee_id" integer NOT NULL,
"age" integer NOT NULL,
"gender" "char" NOT NULL,
PRIMARY KEY ("employee_id")
);
Der INSERT
-Befehl wird verwendet, um neue Daten in eine Datenbank einzufügen und besteht hauptsächlich aus zwei Segmenten. Zum einen wird nach dem INSERT INTO
die Tabelle angegeben, in die Daten eingefügt werden soll und zum anderen geben wir in Listen unsere Spalten und Werte ein.
Hier sehen Sie den INSERT
–Befehl und anschließend unseren Beispielcode:
INSERT INTO table_name (column1, column2, column3,..) VALUES ( value1, value2, value3,..);
INSERT INTO employees (employee_name,employee_id,age,gender) VALUES ('Michael',01,37,'M');
Select * from employees;
Die RETURNING
-Klausel kann mit der INSERT
-Anweisung verwendet werden, um Informationen zur eingefügten Zeile zurückzugeben. Setzen Sie ein “*
” nach dem Schlüsselwort, geben Sie die gesamte Zeile zurück:
INSERT INTO table_name(column1, column2, …)
VALUES (value1, value2, …)
RETURNING *;
Mit folgendem Befehl geben Sie nach der RETURNING
-Klausel die gewünschte/n Spalte/n an, um bestimmte Informationen zu der eingefügten Zeile zu bekommen:
INSERT INTO table_name(column1, column2, …)
VALUES (value1, value2, …)
RETURNING columnn;
Navigieren Sie nach dem Starten von pgAdmin zu Datenbanken -> Datenbank(postgres) -> Schemas -> Schema(public)-> Tabellen -> Tabelle(employees)
und klicken Sie auf die Schaltfläche Abfrage-Tool, wie unten gezeigt:
Geben Sie die Abfrage in den SQL-Editor ein und klicken Sie auf die Schaltfläche ‘Ausführen
’:
Der UPDATE
–Befehl wird verwendet, um vorhandene Daten in einer Tabelle zu ändern. Sie haben die Möglichkeit eine einzelne Spalte, eine einzelne Zeile, mehrere Spalten oder mehrere Zeilen gleichzeitig zu aktualisieren.
Zunächst müssen Sie in dieser Anweisung den Namen der Tabelle angeben, für die Sie Daten aktualisieren möchten.
Mit dem Schlüsselwort SET
können Sie anschließend die gewünschten Spalten und ihre zugehörigen neuen Werte angeben und trennen diese, falls mehrere geändert werden müssen, durch ein Komma.
Abschließend definieren Sie mit dem Schlüsselwort WHERE
Bedingungen, um zu bestimmen, welche Zeile(n) für die Spalte(n), die bereits oben angegeben wurden, aktualisiert werden sollen. Dieses Schlüsselwort ist allerdings optional, sodass alle Zeilen in der Tabelle aktualisiert werden, wenn es weggelassen wird.
Zusätzlich gibt die UPDATE
-Anweisung die Anzahl der aktualisierten Zeilen zurück.
UPDATE table_name SET column1 = value1, column2 = value2,... columnn = valuen
WHERE condition;
Folgende Tabelle haben wir nun erstellt, um damit einige Abfragen auszuführen und die UPDATE
-Anweisung zu demonstrieren.
Die folgende Abfrage aktualisiert die Spalte employee_name
für den Mitarbeiter, dessen employee_id
2 ist:
UPDATE employees SET employee_name = 'Max'
WHERE employee_id=2;
Die folgende Abfrage aktualisiert das Geschlecht aller Zeilen, deren IDs in der IN
– Klausel der WHERE
- Bedingung erwähnt werden.
UPDATE employees SET gender = 'F'
WHERE employee_id in (1,2);
Folgende Abfrage aktualisiert mehrere Spalten, die einer bestimmten Zeile entsprechen:
UPDATE employees SET age=23,gender = 'M'
WHERE employee_id=1;
Sie haben zwei verschiedene Möglichkeiten Daten in pgAdmin zu aktualisieren:
Datenbanken -> Datenbank(postgres) -> Schemas -> Schema(public) -> Tabellen -> Tabelle(employees) -> Daten anzeigen/bearbeiten
Wählen Sie die Zeile aus, die Sie aktualisieren möchten. Mit einem Doppelklick können Sie die Daten bearbeiten und anschließend mit “Datenänderungen speichern” oder F6 die Tabelle aktualisieren.
Mit dem DELETE–Befehl werden Daten aus einer Tabelle in einer Datenbank gelöscht.
DELETE FROM table_name
WHERE condition;
In dieser Anweisung geben Sie nach dem Schlüsselwort DELETE FROM
den Tabellennamen an, aus dem Sie Daten löschen möchten. Verwenden Sie als Nächstes die WHERE
-Bedingung, um Zeilen aus der Tabelle anzugeben, aus der Sie Daten löschen möchten.
Zusätzlich gibt die DELETE
-Anweisung die Anzahl der gelöschten Zeilen zurück.
DELETE FROM employees
WHERE employee_id=2;
DELETE FROM employees;
DELETE FROM employees
WHERE employee_id=3 returning *;
DELETE FROM employees
WHERE employee_id=1 returning employee_name;
Navigieren Sie zu Datenbanken -> Datenbank(postgres) -> Schemas -> Schema(public) -> Tabellen -> Tabelle(employees) -> Daten anzeigen/bearbeiten
.
Wählen Sie die Zeile aus und klicken Sie auf “Löschen”.
Die Zeile wird automatisch durchgestrichen um anzuzeigen, dass Sie diese Zeile löschen möchten.
Bestätigen Sie mit “Datenänderungen speichern“ oder F6, dass Sie die Zeile löschen möchten.
Sie sollten nun einen Überblick über die wichtigsten DML-Anweisungen in PostgreSQL bekommen haben und Daten sowohl mit pgAdmin, als auch mit der SQL Shell einfügen, aktualisieren und löschen können.
Kontaktieren Sie uns gerne über das
Kontaktformular und vereinbaren ein unverbindliches
Beratungsgespräch mit unseren Berater:innen zur
Bedarfsevaluierung. Gemeinsam optimieren wir Ihre
Umgebung und steigern Ihre Performance!
Wir freuen uns auf Ihre Kontaktaufnahme!